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.

13
Come funzionano malloc () e free ()?
Voglio sapere come malloce freelavoro. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout << p; return 0; } Le sarei davvero grato se la risposta …


18
Parola chiave "registra" in C?
Cosa fa la registerparola chiave in linguaggio C? Ho letto che viene utilizzato per l'ottimizzazione ma non è chiaramente definito in nessuno standard. È ancora pertinente e, in tal caso, quando lo useresti?
273 c  memory  keyword 


13
Come definire un tipo enumerato (enum) in C?
Non sono sicuro di quale sia la sintassi corretta per usare C enum. Ho il codice seguente: enum {RANDOM, IMMEDIATE, SEARCH} strategy; strategy = IMMEDIATE; Ma questo non viene compilato, con il seguente errore: error: conflicting types for ‘strategy’ error: previous declaration of ‘strategy’ was here Che cosa sto facendo …
272 c  enums 




30
Come evitare le catene "if"?
Supponendo di avere questo pseudo-codice: bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); Le funzioni executeStepXdovrebbero essere eseguite se e solo se la precedente ha esito positivo. In ogni caso, la executeThisFunctionInAnyCasefunzione dovrebbe essere chiamata …

8
Cosa fa realmente l'apertura di un file?
In tutti i linguaggi di programmazione (che uso almeno), è necessario aprire un file prima di poter leggere o scrivere su di esso. Ma cosa fa realmente questa operazione aperta? Le pagine del manuale per le funzioni tipiche in realtà non dicono altro che "apre un file per leggere / …
266 c  linux 


3
Perché esiste l'operatore freccia (->) in C?
L' .operatore punto ( ) viene utilizzato per accedere a un membro di una struttura, mentre l'operatore freccia ( ->) in C viene utilizzato per accedere a un membro di una struttura a cui fa riferimento il puntatore in questione. Il puntatore stesso non ha membri a cui è possibile …
264 c  pointers  dereference 

14
Come posso creare una matrice di stringhe in C?
Sto cercando di creare una matrice di stringhe in C. Se utilizzo questo codice: char (*a[2])[14]; a[0]="blah"; a[1]="hmm"; gcc mi dà "avvertimento: assegnazione da un tipo di puntatore incompatibile". Qual è il modo corretto per farlo? modifica: Sono curioso di sapere perché questo dovrebbe dare un avvertimento al compilatore poiché …
263 c  arrays  string 

10
Soffitto veloce di una divisione intera in C / C ++
Dati i valori interi xe y, C e C ++ restituiscono entrambi come quoziente q = x/yil piano dell'equivalente in virgola mobile. Sono invece interessato a un metodo per restituire il soffitto. Ad esempio, ceil(10/5)=2e ceil(11/5)=3. L'approccio ovvio prevede qualcosa di simile: q = x / y; if (q * …
262 c++  c  algorithm  math 


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.