Запитання з тегом «c»

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

3
Подвійна передача до беззнакового int на Win32 зменшується до 2 147 483 688
Компіляція такого коду: double getDouble() { double value = 2147483649.0; return value; } int main() { printf("INT_MAX: %u\n", INT_MAX); printf("UINT_MAX: %u\n", UINT_MAX); printf("Double value: %f\n", getDouble()); printf("Direct cast value: %u\n", (unsigned int) getDouble()); double d = getDouble(); printf("Indirect cast value: %u\n", (unsigned int) d); return 0; } Виходи (MSVC x86): …


6
C - функція всередині struct
Я намагаюся створити функцію всередині структури, поки що я маю такий код: typedef struct client_t client_t, *pno; struct client_t { pid_t pid; char password[TAM_MAX]; // -> 50 chars pno next; pno AddClient() { /* code */ } }; int main() { client_t client; //code .. client.AddClient(); } Помилка : client.h: …
86 c  function  struct 

13
Як очистити масив символів?
Мати масив символів, таких як члени char [255]. Як я можу спорожнити його повністю, не використовуючи цикл? char members[255]; Під "порожнім" я маю на увазі, що якщо в ньому зберігаються деякі значення, то він не повинен. Наприклад, якщо я роблю strcat, то старе значення не повинно залишатися members = "old …
86 c  arrays  char 

6
Змінено змінений масив у діапазоні файлу
Я хочу створити постійний статичний масив, який буде використовуватись у всьому моєму файлі реалізації Objective-C, подібному до приблизно такого на верхньому рівні мого файлу ".m": static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; Я планую використовувати NUM_TYPESпізніше у файлі, тому я хотів …

4
dup2 / dup - навіщо мені дублювати дескриптор файлу?
Я намагаюся зрозуміти використання dup2та dup. Зі сторінки користувача: DESCRIPTION dup and dup2 create a copy of the file descriptor oldfd. After successful return of dup or dup2, the old and new descriptors may be used interchangeably. They share locks, file position pointers and flags; for example, if the file …

4
Вибірково вимкнути попередження GCC лише для частини одиниці перекладу?
Який найближчий GCC еквівалентний цьому коду препроцесора MSVC? #pragma warning( push ) // Save the current warning state. #pragma warning( disable : 4723 ) // C4723: potential divide by 0 // Code which would generate warning 4723. #pragma warning( pop ) // Restore warnings to previous state. Ми маємо код …

3
Структурувати макет пам'яті в C
У мене фон C #. Я дуже новачок у мові низького рівня, як C. У C # structпам'ять розміщена компілятором за замовчуванням. Компілятор може переупорядковувати поля даних або неявно розміщувати додаткові біти між полями. Отже, мені довелося вказати якийсь спеціальний атрибут, щоб замінити цю поведінку для точного розміщення. AFAIK, C …

7
Автоматичний відступ пробілів з C у vim?
Я був трохи зіпсований за допомогою Eclipse та Java. Я почав використовувати vim для кодування C в середовищі Linux, чи є спосіб, щоб vim автоматично робив належний інтервал для блоків? Отже, після введення {{наступний рядок матиме 2 пробіли з відступом, а повернення до цього рядка збереже його на тому ж …
85 c  vim  coding-style  vi 

10
Чи існує елегантний і швидкий спосіб перевірити 1-біт у цілому чиселі, щоб бути в сусідній області?
Мені потрібно перевірити, чи становлення (від 0 до 31 для 32-бітного цілого числа) із бітовим значенням 1 утворюють суміжну область. Наприклад: 00111111000000000000000000000000 is contiguous 00111111000000000000000011000000 is not contiguous Я хочу, щоб цей тест, тобто якась функція has_contiguous_one_bits(int), була портативною. Очевидним способом є перебір позицій для пошуку першого встановленого біта, потім …

3
Велика різниця (x9) у часі виконання між майже однаковим кодом на C та C ++
Я намагався вирішити цю вправу з www.spoj.com: FCTRL - Factorial Вам не обов’язково читати це, просто зробіть це, якщо вам цікаво :) Спочатку я реалізував це на C ++ (ось моє рішення): #include <iostream> using namespace std; int main() { unsigned int num_of_inputs; unsigned int fact_num; unsigned int num_of_trailing_zeros; std::ios_base::sync_with_stdio(false); …
85 c++  c  performance  gcc  iostream 


3
Як отримати вказівник на ФАЙЛ із дескриптора файлу?
Я пограю з mkstemp(), який надає дескриптор файлу, але я хочу створити відформатований вихід через fprintf(). Чи є простий спосіб перетворити дескриптор файлу, наданий, mkstemp()у FILE *структуру, придатну для використання fprintf()?
85 c  posix  mkstemp 

8
Чому я отримую помилку про твердження C malloc?
Я впроваджую поліноміальний алгоритм поділу та завоювання, щоб я міг порівняти його з реалізацією OpenCL, але я не можу приступити mallocдо роботи. Коли я запускаю програму, вона виділяє купу речей, перевіряє деякі речі, а потім відправляє size/2алгоритму. Потім, коли я mallocзнову потрапляю в лінію, це випльовує це: malloc.c:3096: sYSMALLOc: Assertion …
85 c  gcc  malloc  assertion 


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.