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

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

12
Перевірка підрядків існує в рядку на C
Я намагаюся перевірити, чи містить рядок підрядку на C, наприклад: char *sent = "this is my sample example"; char *word = "sample"; if (/* sentence contains word */) { /* .. */ } Що можна використовувати замість string::findC ++?
169 c  string 

13
Чи розмір C "int" становить 2 байти або 4 байти?
Чи займає змінна Integer в C 2 байти або 4 байти? Від яких факторів це залежить? Більшість підручників кажуть, що цілі змінні займають 2 байти. Але коли я запускаю програму, друкуючи послідовні адреси масиву цілих чисел, вона показує різницю в 4.
168 c  int  byte 


6
Чому чому деякі люди кидають покажчик перед тим, як звільнити його?
Я працюю над старою базою коду і майже кожен виклик free () використовує роль аргументу. Наприклад, free((float *)velocity); free((float *)acceleration); free((char *)label); де кожен вказівник має відповідний (і відповідний) тип. Я не бачу сенсу робити це взагалі. Це дуже старий код, тому мені залишається цікаво, чи це K&R річ. Якщо …
167 c  pointers  casting 

9
Чому енергонезалежність не вважається корисною в багатопотоковому програмуванні на C або C ++?
Як показано у цій відповіді, яку я нещодавно опублікував, я, мабуть, розгублений щодо корисності (або її відсутності) volatileв контекстах багатопотокового програмування. Моє розуміння таке: щоразу, коли змінна може бути змінена поза потоком контролю фрагмента коду, що отримує доступ до неї, ця змінна повинна бути оголошена такою volatile. Обробники сигналів, регістри …

9
Чи є заміна unistd.h для Windows (Visual C)?
Я переношу порівняно просту консольну програму, написану для Unix, на платформу Windows ( Visual C ++ 8.0 ). Усі вихідні файли містять "unistd.h", якого не існує. Видаляючи це, я отримую скарги на промальовування прототипів для "srandom", "random" та "getopt". Я знаю, що можу замінити випадкові функції, і я впевнений, що …
165 c++  c  windows  portability  unistd.h 

18
Який найшвидший алгоритм пошуку підрядків?
Гаразд, тому я не схожу на ідіот, я буду чіткіше викладати проблему / вимоги: Голка (візерунок) та стог сіна (текст для пошуку) - це рядки з нульовим завершенням у стилі C. Інформація про довжину не надається; при необхідності його необхідно обчислити. Функція повинна повернути вказівник на перший збіг, або NULLякщо …
165 c  algorithm  string  substring 

4
Чому я ++; я--; відразу один за одним?
Я переглядав вихідний код nmap, який був випущений у 1997 році, і я помітив цей розділ коду, який мені виглядає трохи дивно: int i=0, j=0,start,end; char *expr = strdup(origexpr); ports = safe_malloc(65536 * sizeof(short)); i++; /* <<<<<< */ i--; /* <<<<<< */ for(;j < exlen; j++) if (expr[j] != ' …
164 c  nmap 

20
Чи "for (;;)" швидше, ніж "while (ІСТИНА)"? Якщо ні, то чому люди його використовують?
for (;;) { //Something to be done repeatedly } Я бачив, як подібні речі багато використовували, але я вважаю, що це досить дивно ... Чи не було б набагато зрозуміліше сказати while(true), чи щось у цьому напрямку? Я здогадуюсь, що (як це причина багатьох програмістів, що вдаються до криптовалютного коду), …

4
попередження: несумісне неявне декларування вбудованої функції 'xyz'
Я отримую ряд цих попереджень, коли збираю кілька двійкових файлів: warning: incompatible implicit declaration of built-in function ‘strcpy’ warning: incompatible implicit declaration of built-in function ‘strlen’ warning: incompatible implicit declaration of built-in function ‘exit’ Щоб спробувати вирішити це, я додав #include <stdlib.h> у верхній частині файлів C, пов’язаних із цим …
164 c  gcc  gcc-warning 


24
__FILE__ макрос показує повний шлях
Стандартний заздалегідь заданий макрос __FILE__ доступний на C, показує повний шлях до файлу. Чи є який-небудь спосіб скоротити шлях? Я маю на увазі замість /full/path/to/file.c я бачу to/file.c або file.c
164 c  file  macros  path 

5
Чи небезпечний __attribute __attribute __ ((упакований)) gcc / #pragma?
У C компілятор викладе члени структури в тому порядку, в якому вони оголошені, з можливими байтами вставки, вставленими між членами або після останнього члена, щоб забезпечити правильне вирівнювання кожного члена. gcc надає розширення мови __attribute__((packed)), яке вказує компілятору не вставляти прокладки, що дозволяє членам структури бути нерівними. Наприклад, якщо система …
164 c  gcc  pragma-pack 

13
Чи є D надійною альтернативою Java та C ++? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
163 java  c++  c  d 


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