Pytania otagowane jako c

C jest językiem programowania ogólnego przeznaczenia używanym do programowania systemu (system operacyjny i wbudowane), bibliotek, gier i platform. Tego znacznika należy używać z ogólnymi pytaniami dotyczącymi języka C, zgodnie z definicją w normie ISO 9899 (najnowsza wersja, 9899: 2018, o ile nie określono inaczej - także znaczniki specyficzne dla wersji za pomocą c89, c99, c11 itd.). C różni się od C ++ i nie należy go łączyć ze znacznikiem C ++ bez uzasadnionego powodu.



7
Po co definiować tylko makro, jeśli nie zostało jeszcze zdefiniowane?
W całej naszej bazie kodu C widzę każde makro zdefiniowane w następujący sposób: #ifndef BEEPTRIM_PITCH_RATE_DEGPS #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #endif #ifndef BEEPTRIM_ROLL_RATE_DEGPS #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #endif #ifndef FORCETRIMRELEASE_HOLD_TIME_MS #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #endif #ifndef TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f #endif Jakie jest uzasadnienie wykonywania tych kontroli definicji zamiast tylko definiowania makr? #define BEEPTRIM_PITCH_RATE_DEGPS …


2
Jaki jest wynik + = w C i C ++?
Mam następujący kod: #include <stdio.h> int main(int argc, char **argv) { int i = 0; (i+=10)+=10; printf("i = %d\n", i); return 0; } Jeśli spróbuję skompilować go jako źródło C przy użyciu gcc, pojawia się błąd: error: lvalue required as left operand of assignment Ale jeśli skompiluję go jako źródło …
93 c++  c 

6
Co robi extern inline?
Rozumiem, że inlinesamo w sobie jest sugestią dla kompilatora i według własnego uznania może wbudować funkcję lub nie, a także wygeneruje kod wynikowy, który można połączyć. Myślę, że static inlinerobi to samo (może być wbudowane lub nie), ale po wstawieniu nie utworzy kodu wynikowego, który można połączyć (ponieważ żaden inny …


3
Czy są maszyny, w których sizeof (char)! = 1 lub przynajmniej CHAR_BIT> 8?
На этот вопрос есть ответы на Przepełnienie stosu на русском : Кто-нибудь встречал в своей практике sizeof (znak)! = 1? Czy są maszyny (lub kompilatory), gdzie sizeof(char) != 1? Czy norma C99 mówi, że sizeof(char)implementacja zgodności ze standardami MUSI wynosić dokładnie 1? Jeśli tak, podaj mi numer sekcji i cytat. …
93 c  char  standards  sizeof  c99 


10
Wartości domyślne w strukturze C
Mam taką strukturę danych: struct foo { int id; int route; int backup_route; int current_route; } oraz funkcję o nazwie update (), która służy do żądania zmian w nim. update (42, dont_care, dont_care, new_route); to jest naprawdę długie i jeśli dodam coś do struktury, muszę dodać 'dont_care' do KAŻDEGO wywołania …
93 c  initialization 

3
Co to jest CHAR_BIT?
Cytując kod do obliczenia całkowitej wartości bezwzględnej (abs) bez rozgałęziania z http://graphics.stanford.edu/~seander/bithacks.html : int v; // we want to find the absolute value of v unsigned int r; // the result goes here int const mask = v >> sizeof(int) * CHAR_BIT - 1; r = (v + mask) ^ …


4
scanf () pozostawia znak nowej linii w buforze
Mam następujący program: int main(int argc, char *argv[]) { int a, b; char c1, c2; printf("Enter something: "); scanf("%d",&a); // line 1 printf("Enter other something: "); scanf("%d", &b); // line 2 printf("Enter a char: "); scanf("%c",&c1); // line 3 printf("Enter another char: "); scanf("%c", &c2); // line 4 printf("Done"); // …
93 c  scanf 



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.