c- все статьи тега ➜ страница 9


Какой смысл в указателях const?

Я не говорю о указателях на значения const,но сами указатели const. Я изучаю C и C++ за пределами самого основного материала, и только до сегодняшнего дня я понял, что указатели передаются по значению в функции, что имеет смысл. Это означает, что внутри функции я могу сделать скопированный указатель на какое-то другое значение, не затрагивая исходный указатель от вызывающего объекта. Итак, какой смысл иметь заголовок функции, который говорит: void foo(int* const ptr); внутри такой функции ...

максимальное значение int

есть ли какой-либо код, чтобы найти максимальное значение integer (соответственно компилятору) в C/C++, например Integer.MaxValue функция в java? ...

Как понять локальность чувствительного хеширования?

Я заметил, что LSH кажется хорошим способом найти подобные элементы с свойствами высокого размера. после прочтения статьи http://www.slaney.org/malcolm/yahoo/Slaney2008-LSHTutorial.pdf, я все еще путаюсь с этими формулами. кто-нибудь знает блог или статью, которая объясняет, что простой способ? ...

Захват символов из стандартного ввода, не дожидаясь нажатия клавиши enter

Я никогда не могу вспомнить, как я это делаю, потому что это происходит так редко для меня. Но в C или c++, каков наилучший способ прочитать символ из стандартного ввода, не дожидаясь новой строки (нажмите enter). также В идеале он не будет эхом входного символа на экране. Я просто хочу захватить нажатия клавиш без воздействия на экран консоли. ...

декларация функции не является прототипом

у меня есть библиотека, которую я создал, mylib.c: #include <mylib.h> int testlib() { printf("Hello worldn"); return (0); } mylib.h: #include <stdio.h> extern int testlib(); в моей программе я попытался вызвать эту библиотечную функцию: myprogram.c: #include <mylib.h> int main (int argc, char *argv[]) { testlib(); return (0); } когда я пытаюсь скомпилировать эту программу, я получаю следующую ошибку: In file included from myprogram.c:1 mylib.h:2 wa ...

Какие инструменты существуют для функционального программирования в C?

Я много думал в последнее время о том, как заниматься функциональным программированием на C (не C++). Очевидно, что C является процедурным языком и на самом деле не поддерживает функциональное программирование изначально. существуют ли какие-либо расширения компилятора/языка, которые добавляют некоторые конструкции функционального программирования к языку? НКУ предусматривает вложенные функции как расширение языка; вложенные функции могут обращаться к переменным из родительского кадра стека, ...

Строковые литералы: куда они идут?

меня интересует, где строковые литералы выделяется/хранится. Я нашел один интригующий ответ здесь, говорят: определение строки inline фактически встраивает данные в саму программу и не может быть изменено (некоторые компиляторы позволяют это умным трюком, не беспокойтесь). но, это было связано с C++, не говоря уже о том, что он говорит, чтобы не беспокоиться. я беспокою. =D Так что мой вопрос в том, где и как хранится мой строковый литерал? Почему бы мне не попытаться изменить его? Реал ...

Как проверить ОС с помощью директивы препроцессора?

Мне нужен мой код, чтобы делать разные вещи, основанные на операционной системе, на которой он компилируется. Я ищу что-то вроде этого: #ifdef OSisWindows // do Windows-specific stuff #else // do Unix-specific stuff #endif есть ли способ сделать это? Есть ли лучший способ сделать то же самое? ...

Объектная ориентация в C

каким будет набор отличных препроцессорных хаков (совместимых с ANSI C89/ISO C90), которые позволяют какую-то уродливую (но полезную) объектную ориентацию в C? Я знаком с несколькими различными объектно-ориентированными языками, поэтому, пожалуйста, не отвечайте такими ответами, как "изучайте C++!". Я читал "объектно-ориентированное программирование с ANSI C" (внимание: PDF-формате) и несколько других интересных решений, но меня в основном интересуют ваши :-)! см. также можете ли вы написать ...

Макрос файла показывает полный путь

стандартный предопределенный макрос _ _ FILE__, доступный в C, показывает полный путь к файлу. Есть ли способ сократить путь? Я имею в виду вместо /full/path/to/file.c Я вижу to/file.c или file.c ...

Как преобразовать int в строку в C?

Как вы преобразуете int (целое число) в строку? Я пытаюсь сделать функцию, которая преобразует данные из struct в строку, чтобы сохранить его в файл. ...

Установка переменной в null после освобождения

в моей компании есть правило кодирования, которое говорит, что после освобождения любой памяти сбросьте переменную в NULL. Например... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Я чувствую, что в случаях, подобных приведенному выше коду, установка значения NULL не имеет никакого значения. Или я что-то упустил? если нет смысла в таких случаях, я собираюсь взять его с "командой", чтобы удалить это правило кодирования. Пожалуй ...

Может ли рекурсивная функция быть встроенной?

inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } Как я читал этой, установлено, что приведенный выше код приведет к "бесконечной компиляции", если не правильно обрабатывается компилятором. как компилятор решает, следует ли встроить функцию или нет ? ...

Как я должен печатать такие типы, как off t и size t?

Я пытаюсь печатать такие типы, как off_t и size_t. Что такое правильный заполнитель для printf()Это портативный? или есть совершенно другой способ печати этих переменных? ...

Как работает устройство Даффа?

Я прочитала статья в Википедии на устройстве Даффа и я не понимаю. Мне действительно интересно, но я прочитал объяснение там пару раз, и я до сих пор не понимаю, как работает устройство Даффа. каково было бы более подробное объяснение? ...

Время измерения в Linux - время против часов, против вызов getrusage против часовой методов gettime против gettimeofday против timespec сделать?

среди функций времени, time,clockgetrusage,clock_gettime,gettimeofday и timespec_get, Я хочу четко понять, как они реализуются и каковы их возвращаемые значения, чтобы знать, в какой ситуации я должен их использовать. Сначала нам нужно классифицировать функции, возвращающие значения настенных часов сравнить с возвращением функций значения процессов или потоков. gettimeofday возвращает значение настенных часов,clock_gettime возвращает значение настенных часов или значения процесса или потоков ...

Почему переполнение целого числа на x86 с GCC вызывает бесконечный цикл?

следующий код переходит в бесконечный цикл на GCC: #include <iostream> using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout << i << endl; }while (i > 0); cout << c << endl; return 0; } так вот: переполнение целого числа со знаком является технически неопределенным поведением. Но GCC на x86 реализует целочисленную арифметику, используя целочисленные инструкции x86, которые оберт ...

Передача аргументов командной строки в Visual Studio 2010 с?

в настоящее время я работаю над проектом C и не могу понять, как передать аргументы командной строки моей основной функции в Visual Studio 2010 Express Edition. Я хочу отладить - как работают эти аргументы командной строки? ...

Разница между подписанным / неподписанным символом [дубликат]

этот вопрос уже есть ответ здесь: что такое беззнаковый символ? 17 ответов чар!=(подпись char), char!=(символ без знака) 4 ответы Так я знаю, что разница между подписанным и unsigned int - это бит, который используется для обозначения числа, если оно положительное или отрицательное, но как это относится к символу? К ...

Разница между *ptr += 1 и * ptr++ в C

Я только начал изучать C, и когда я делал один пример о передаче указателя на указатель в качестве параметра функции, я нашел проблему. это мой пример кода : #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int size){ if (ptr != NULL){ for (int i = 0; i < size; i++){ ptr[i] = i; } } return ptr; } void increasePointer(int** ptr){ if (ptr != NULL){ *ptr += 1; /* <------------ ...