Domande taggate «c»

C è un linguaggio di programmazione generico utilizzato per la programmazione di sistemi (OS e embedded), librerie, giochi e multipiattaforma. Questo tag deve essere utilizzato con domande generali relative al linguaggio C, come definito nella norma ISO 9899 (l'ultima versione, 9899: 2018, se non diversamente specificato - anche tag richieste specifiche della versione con c89, c99, c11, ecc.). C è distinto da C ++ e non dovrebbe essere combinato con il tag C ++ in assenza di una ragione razionale.

3
Perché sizeof int è sbagliato, mentre sizeof (int) è giusto?
Sappiamo che sizeofè un operatore utilizzato per calcolare la dimensione di qualsiasi tipo di dato ed espressione, e quando l'operando è un'espressione, le parentesi possono essere omesse. int main() { int a; sizeof int; sizeof( int ); sizeof a; sizeof( a ); return 0; } il primo utilizzo di sizeofè …
96 c++  c  sizeof 



3
"Inline" senza "statico" o "esterno" è mai utile in C99?
Quando provo a creare questo codice inline void f() {} int main() { f(); } utilizzando la riga di comando gcc -std=c99 -o a a.c Ottengo un errore del linker (riferimento indefinito a f). L'errore scompare se uso static inlineo extern inlineinvece di solo inline, o se compilo con -O(quindi …
96 c  inline  c99 

3
Creazione di una nuova directory in C
Voglio scrivere un programma che controlli l'esistenza di una directory; se quella directory non esiste, crea la directory e un file di registro al suo interno, ma se la directory esiste già, crea semplicemente un nuovo file di registro in quella cartella. Come lo farei in C con Linux?
96 c  linux  directory 


13
Come rompere i loop annidati?
Se uso breakun'istruzione, interromperà solo il ciclo interno e ho bisogno di usare un flag per interrompere il ciclo esterno. Ma se ci sono molti cicli annidati, il codice non avrà un bell'aspetto. C'è un altro modo per interrompere tutti i loop? (Per favore, non usare goto stmt.) for(int i …
96 c  nested-loops  break 

6
Programmazione C in Visual Studio
Posso usare Visual Studio per imparare a programmare in C? Nel menu del nuovo progetto posso scegliere tra Visual Basic, Visual C #, Visual C ++, Visual F # e altri ma non vedo "C" o "Visual C".
96 c  visual-studio 



5
Come incrementare l'indirizzo di un puntatore e il valore del puntatore?
Supponiamo, int *p; int a = 100; p = &a; Cosa farà effettivamente il codice seguente e come? p++; ++p; ++*p; ++(*p); ++*(p); *p++; (*p)++; *(p)++; *++p; *(++p); Lo so, questo è un po 'complicato in termini di codifica, ma voglio sapere cosa accadrà effettivamente quando codificheremo in questo modo. …
96 c  pointers 


13
Come posso usare "sizeof" in una macro del preprocessore?
C'è un modo per utilizzare una sizeofin una macro del preprocessore? Ad esempio, negli anni ci sono state un sacco di situazioni in cui volevo fare qualcosa come: #if sizeof(someThing) != PAGE_SIZE #error Data structure doesn't match page size #endif La cosa esatta che sto controllando qui è completamente inventata: …
95 c  gcc 

6
L'operatore tilde in C
Ho visto l'operatore tilde utilizzato nell'algoritmo di hashing ELF e sono curioso di cosa fa. (Il codice proviene da Eternally Confused .) unsigned elf_hash ( void *key, int len ) { unsigned char *p = key; unsigned h = 0, g; int i; for ( i = 0; i < …
95 c++  c  operators 


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.