Вопросы с тегом «c»

C - это язык программирования общего назначения, используемый для системного программирования (ОС и встраиваемых), библиотек, игр и кроссплатформенности. Этот тег следует использовать с общими вопросами, касающимися языка C, как это определено в стандарте ISO 9899 (последняя версия 9899: 2018, если не указано иное, а также для запросов, специфичных для версии, с c89, c99, c11 и т. Д.). C отличается от C ++ и не должен сочетаться с тэгом C ++ без разумной причины.

4
Как написать приложение для iOS чисто на C
Я читаю здесь Учиться C до Objective-C? Обычно я затем заменяю некоторый код Obj-C чистым кодом C (в конце концов, вы можете смешивать их сколько угодно, содержимое метода Obj-C может быть целиком, чистым кодом C) Это правда? Можно ли создать приложение для iPhone исключительно на языке программирования C?

17
Зачем использовать указатели? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
357 c++  c  pointers 

5
Как именно работает __attribute __ ((конструктор))?
Кажется, довольно ясно, что он должен все настроить. Когда именно он запускается? Почему есть две скобки? Это __attribute__функция? Макрос? Синтаксис? Это работает в C? C ++? Должна ли функция, с которой она работает, быть статичной? Когда __attribute__((destructor))бежит? Пример в Objective-C : __attribute__((constructor)) static void initialize_navigationBarImages() { navigationBarImages = [[NSMutableDictionary alloc] …
350 c++  objective-c  c  gcc 

17
Как объединить константные / литеральные строки в C?
Я работаю в C, и мне нужно объединить несколько вещей. Прямо сейчас у меня есть это: message = strcat("TEXT ", var); message2 = strcat(strcat("TEXT ", foo), strcat(" TEXT ", bar)); Теперь, если у вас есть опыт работы с Си, я уверен, что вы понимаете, что это дает вам ошибку сегментации, …
349 c  string  concatenation 

10
Печать ведущих 0 в C?
Я пытаюсь найти хороший способ напечатать ведущие 0, например, 01001 для почтового индекса. Хотя число будет храниться как 1001, что является хорошим способом сделать это? Я подумал об использовании операторов case / if затем, чтобы выяснить, сколько цифр это число, а затем преобразовать его в массив символов с дополнительными нулями …
345 c  printf 

8
Как напечатать «unsigned long» в C?
Я никогда не могу понять, как напечатать 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\n", unsigned_foo) И все они печатают какое-то -123123123число вместо того, unsigned longчто у меня есть.

9
Что такое трюк LD_PRELOAD?
Я недавно натолкнулся на упоминание о нем на proggit, и (на данный момент) это не объясняется. Я подозреваю, что это может быть так, но я точно не знаю.


10
Передача переменного количества аргументов вокруг
Скажем, у меня есть функция C, которая принимает переменное число аргументов: как я могу вызвать другую функцию, которая ожидает от нее переменное количество аргументов, передавая все аргументы, полученные в первую функцию? Пример: void format_string(char *fmt, ...); void debug_print(int dbg_lvl, char *fmt, ...) { format_string(fmt, /* how do I pass all …

22
Является ли неинициализированная локальная переменная самым быстрым генератором случайных чисел?
Я знаю, что неинициализированная локальная переменная - это неопределенное поведение ( UB ), а также у значения могут быть представления ловушек, которые могут повлиять на дальнейшие операции, но иногда я хочу использовать случайное число только для визуального представления и больше не буду использовать их в другой части Программа, например, установить …

30
Печать от 1 до 1000 без петель или условных обозначений
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Задача : печатать числа от 1 до 1000 без использования циклов или условных операторов. Не просто пишите printf()или coutутверждение 1000 раз. Как …
323 c++  c  printf 

23
Какова цель использования фигурных скобок (т.е. {}) для однострочного цикла if или?
Я читаю некоторые лекционные заметки моего лектора C ++, и он написал следующее: Использовать отступ // OK Никогда не полагайтесь на приоритет оператора - всегда используйте скобки // OK Всегда используйте блок {} - даже для одной строки // не в порядке , почему ??? Const объект на левой стороне …

9
Как разбить строковый литерал на несколько строк в C / Objective-C?
У меня довольно длинный SQL-запрос: const char *sql_query = "SELECT statuses.word_id FROM lang1_words, statuses WHERE statuses.word_id = lang1_words.word_id ORDER BY lang1_words.word ASC"; Как я могу разбить его на несколько строк, чтобы было легче читать? Если я сделаю следующее: const char *sql_query = "SELECT word_id FROM table1, table2 WHERE table2.word_id = …
321 c  objective-c 

4
Сочетание C ++ и C - как работает #ifdef __cplusplus?
Я работаю над проектом, в котором много унаследованного кода на Си . Мы начали писать на C ++ с намерением в конечном итоге также преобразовать устаревший код. Я немного озадачен тем, как взаимодействуют C и C ++. Я понимаю , что обертывание C кода extern "C"на C ++ компилятор не …

4
Эта функция C всегда должна возвращать false, но это не так
Я давно наткнулся на интересный вопрос на форуме и хочу знать ответ. Рассмотрим следующую функцию C: f1.c #include <stdbool.h> bool f1() { int var1 = 1000; int var2 = 2000; int var3 = var1 + var2; return (var3 == 0) ? true : false; } Это должно всегда возвращаться falseс …
317 c  gcc 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.