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.

6
Jak formatowane są wielowymiarowe tablice w pamięci?
W C wiem, że mogę dynamicznie przydzielić tablicę dwuwymiarową na stercie za pomocą następującego kodu: int** someNumbers = malloc(arrayRows*sizeof(int*)); for (i = 0; i < arrayRows; i++) { someNumbers[i] = malloc(arrayColumns*sizeof(int)); } Najwyraźniej tworzy to jednowymiarową tablicę wskaźników do szeregu oddzielnych jednowymiarowych tablic liczb całkowitych, a „System” może zrozumieć, co …


8
Do czego służy wywołanie systemowe brk ()?
Zgodnie z instrukcją dla programistów Linuksa: brk () i sbrk () zmieniają lokalizację przerwania programu, która określa koniec segmentu danych procesu. Co oznacza tutaj segment danych? Czy to tylko segment danych lub dane, BSS i sterta łącznie? Według wiki: Czasami obszary danych, BSS i hałdy są łącznie nazywane „segmentem danych”. …
184 c  linux  unix  memory-management  brk 

16
C czyta plik linia po linii
Napisałem tę funkcję, aby odczytać wiersz z pliku: const char *readLine(FILE *file) { if (file == NULL) { printf("Error: file pointer is null."); exit(1); } int maximumLineLength = 128; char *lineBuffer = (char *)malloc(sizeof(char) * maximumLineLength); if (lineBuffer == NULL) { printf("Error allocating memory for line buffer."); exit(1); } char …
184 c  file-io  line  std 


8
Przeciążenie makra na liczbę argumentów
Mam dwa makra FOO2i FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Chcę zdefiniować nowe makro FOOw następujący sposób: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Ale to nie działa, ponieważ makra nie przeciążają wielu argumentów. Bez modyfikacji FOO2i FOO3czy istnieje jakiś sposób zdefiniowania makra FOO(przy użyciu __VA_ARGS__lub w inny sposób), aby …
183 c  macros  c-preprocessor 


2
Realistyczne użycie słowa kluczowego „99 ”C99?
Przeglądałem dokumentację i pytania / odpowiedzi i widziałem o tym wspomniane. Przeczytałem krótki opis, stwierdzając, że programista byłby w zasadzie obietnicą, że wskaźnik nie zostanie użyty do wskazania w innym miejscu. Czy ktoś może zaoferować realistyczne przypadki, w których warto z tego skorzystać?
183 c  gcc  c99  restrict-qualifier 



8
Jak poprawnie porównać ciągi?
Usiłuję uzyskać program, który pozwoli użytkownikowi wprowadzić słowo lub znak, zapisać je, a następnie wydrukować, dopóki użytkownik nie wpisze go ponownie, wychodząc z programu. Mój kod wygląda następująco: #include <stdio.h> int main() { char input[40]; char check[40]; int i=0; printf("Hello!\nPlease enter a word or character:\n"); gets(input); printf("I will now repeat …
182 c  string  strcmp 

6
Jak zdefiniować i używać ENUM w Objective-C?
Zadeklarowałem wyliczenie w moim pliku implementacyjnym, jak pokazano poniżej, i zadeklarowałem zmienną tego typu w moim interfejsie jako PlayerState thePlayerState; i użyłem zmiennej w moich metodach. Ale dostaję błędy stwierdzające, że nie jest to zadeklarowane. Jak poprawnie zadeklarować i użyć zmiennej typu PlayerState w moich metodach: W pliku .m @implementation …
180 iphone  objective-c  c 

16
Gdzie są przechowywane zmienne statyczne w C i C ++?
W jakim segmencie (.BSS, .DATA, inny) pliku wykonywalnego przechowywane są zmienne statyczne, aby nie powodowały kolizji nazw? Na przykład: foo.c: bar.c: static int foo = 1; static int foo = 10; void fooTest() { void barTest() { static int bar = 2; static int bar = 20; foo++; foo++; bar++; …



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.