c — вопросы с ответами

6 ответов
У меня есть простая программа: #include <stdio.h> #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal < INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } Условие if(bal < INT3...
signed
numeric-limits
09 дек. 2015, в 15:26
14 ответов
Недавно я начал изучать C, и я занимаюсь классом с C в качестве темы. Я сейчас играю с циклами, и я сталкиваюсь с каким-то странным поведением, которое я не знаю, как объяснить. #include <stdio.h> int main() { int array[10],i; for (i = 0; i <=10 ; i++) { array[i]=0; /*code shoul...
debugging
buffer-overflow
undefined-behavior
24 июнь 2015, в 01:50
3 ответа
Оператор dot (.) используется для доступа к члену структуры, а оператор стрелки (->) в C используется для доступа к члену структуры, на который ссылается данный указатель. В самом указателе нет элементов, к которым можно получить доступ с помощью оператора точки (это фактически только номер, опис...
pointers
dereference
13 нояб. 2012, в 17:19
3 ответа
Как распечатать все глобальные переменные/локальные переменные? Возможно ли это в gdb?
variables
gdb
global-variables
07 июнь 2011, в 07:07
7 ответов
Я не могу понять, как печатать unsigned long тип данных в C. Предположим, что unsigned_foo является unsigned long, затем я пытаюсь: printf("%lu\n", unsigned_foo) printf("%du\n", unsigned_foo) printf("%ud\n", unsigned_foo) printf("%ll\n", unsigned_foo) printf("%ld\n", unsigned_foo) printf("%dl\...
long-integer
printf
unsigned
format-specifiers
09 июль 2010, в 06:21
9 ответов
Я только начинаю с указателей, и я немного смущен. Я знаю, что & означает адрес переменной и что * может использоваться перед переменной указателя, чтобы получить значение объекта, на который указывает указатель. Но все работает по-разному, когда вы работаете с массивами, строками или когда вы в...
pointers
19 янв. 2010, в 15:01
8 ответов
Во время работы программы на Си написано "(core dumped)", но я не вижу никаких файлов по текущему пути. Я установил и проверил ulimit: ulimit -c unlimited ulimit -a Я также пытался найти файл с именем "core", но не получил файл дампа ядра? Любая помощь, где мой основной файл?...
coredump
14 янв. 2010, в 17:34
11 ответов
Я хочу вызвать библиотеку C из приложения Python. Я не хочу обертывать весь API, только функции и типы данных, которые имеют отношение к моему делу. Как я вижу, у меня есть три варианта: Создайте фактический модуль расширения в C. Вероятно, излишний, и я также хотел бы избежать накладных расходов н...
ctypes
cython
21 дек. 2009, в 18:53
7 ответов
Стандарт C гарантирует, что size_t - это тип, который может содержать любой индекс массива. Это означает, что логически size_t должен содержать любой тип указателя. Я читал на некоторых сайтах, которые я нашел в Googles, что это законно и/или всегда должно работать: void *v = malloc(10); size_t s = ...
pointers
size-t
23 сен. 2009, в 05:33
11 ответов
В C, по-видимому, существуют различия между различными значениями нуля - NULL, NUL и 0. Я знаю, что символ ASCII '0' оценивается как 48 или 0x30. Указатель NULL обычно определяется как: #define NULL 0 или #define NULL (void *)0 Кроме того, существует символ NUL '\0', который, как представляется, т...
pointers
null
18 авг. 2009, в 21:39
9 ответов
Мне было интересно, как использовать GCC в моем исходном файле C, чтобы сбрасывать мнемоническую версию машинного кода, чтобы я мог видеть, что мой код был скомпилирован. Вы можете сделать это с помощью Java, но мне не удалось найти способ с GCC. Я пытаюсь перезаписать метод C в сборке и посмотреть,...
gcc
assembly
17 авг. 2009, в 19:17
12 ответов
Я не уверен, что такое правильный синтаксис для использования C-перечислений. У меня есть следующий код: enum {RANDOM, IMMEDIATE, SEARCH} strategy; strategy = IMMEDIATE; Но это не скомпилируется со следующей ошибкой: error: conflicting types for ‘strategy’ error: previous declaration of ‘strategy’ ...
enums
09 июль 2009, в 07:35
17 ответов
Следующий код получает ошибку сегмента в строке 2: char *str = "string"; str[0] = 'z'; // could be also written as *str = 'z' printf("%s\n", str); Пока это работает на отлично char str[] = "string"; str[0] = 'z'; printf("%s\n", str); Протестировано с MSVC и GCC....
c-strings
segmentation-fault
02 окт. 2008, в 18:56
10 ответов
Я пытаюсь найти хороший способ распечатать ведущие 0, например 01001 для zipcode. Пока номер будет сохранен как 1001, что это хороший способ сделать это? Я думал об использовании операторов case/, если потом выяснить, сколько цифр число, а затем преобразовать его в массив char с дополнительным 0 для...
printf
30 сен. 2008, в 16:18
18 ответов
Каков наиболее эффективный способ поднять целое число до степени другого целого числа в C? // 2^3 pow(2,3) == 8 // 5^5 pow(5,5) == 3125
algorithm
math
exponentiation
19 сен. 2008, в 13:56
Наверх
Меню