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.



6
Nello specifico, cosa c'è di pericoloso nel lanciare il risultato di malloc?
Ora, prima che le persone inizino a contrassegnarlo come un duplice, ho letto tutto quanto segue, nessuno dei quali fornisce la risposta che sto cercando: C FAQ: Cosa c'è di sbagliato nel lanciare il valore di ritorno di malloc? COSÌ: Devo lanciare esplicitamente il valore di ritorno di malloc ()? …
86 c 

7
Come evitare di utilizzare printf in un gestore di segnali?
Poiché printfnon è rientrante, non dovrebbe essere sicuro usarlo in un gestore di segnali. Ma ho visto molti codici di esempio che usano in printfquesto modo. Quindi la mia domanda è: quando dobbiamo evitare di utilizzare printfun gestore di segnali e c'è una sostituzione consigliata?
86 c  linux  signals 

30
Perché programmi in assembly? [chiuso]
Chiuso . Questa domanda è basata sull'opinione . Attualmente non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso lo scorso anno . Migliora questa domanda Ho una domanda per tutti gli hacker hardcore di …

3
Il doppio cast a unsigned int su Win32 viene troncato a 2.147.483.648
Compilazione del codice seguente: double getDouble() { double value = 2147483649.0; return value; } int main() { printf("INT_MAX: %u\n", INT_MAX); printf("UINT_MAX: %u\n", UINT_MAX); printf("Double value: %f\n", getDouble()); printf("Direct cast value: %u\n", (unsigned int) getDouble()); double d = getDouble(); printf("Indirect cast value: %u\n", (unsigned int) d); return 0; } Uscite (MSVC …

7
Lo standard C indica esplicitamente il valore di verità come 0 o 1?
Sappiamo che tutti i numeri che non sono uguali a 0sono visti come truein C, quindi possiamo scrivere: int a = 16; while (a--) printf("%d\n", a); // prints numbers from 15 to 0 Tuttavia, mi chiedevo se true / false sono definite come 1/ 0in C, quindi ho provato il …
86 c 

2
Da dove viene il nome "atoi"?
Nel linguaggio C dove è venuto fuori il nome atoiper convertire una stringa in un numero intero? L'unica cosa a cui riesco a pensare è Array To Integer per un acronimo, ma non ha davvero senso.

29
"fare ... while" vs. "while"
Possibili duplicati: While vs. Do While Quando dovrei usare do-while invece di while loops? Sto programmando da un po 'di tempo (2 anni di lavoro + 4,5 anni di laurea + 1 anno di pre-college) e non ho mai usato un ciclo di do-while a meno di essere costretto a …
86 c#  c++  c  while-loop  do-while 

3
Layout della memoria Struct in C
Ho uno sfondo C #. Sono un principiante di un linguaggio di basso livello come C. In C #, structla memoria di è impostata dal compilatore per impostazione predefinita. Il compilatore può riordinare i campi dati o riempire implicitamente bit aggiuntivi tra i campi. Quindi, ho dovuto specificare alcuni attributi …


8
Perché ottengo un errore di asserzione C malloc?
Sto implementando un algoritmo polinomiale divide et impera in modo da poterlo confrontare con un'implementazione OpenCL, ma non riesco a mettermi mallocal lavoro. Quando eseguo il programma, alloca un sacco di cose, controlla alcune cose, quindi invia size/2l'algoritmo. Quindi quando colpisco di mallocnuovo la linea sputa questo: malloc.c:3096: sYSMALLOc: Assertion …
86 c  gcc  malloc  assertion 


5
Comprensione di INADDR_ANY per la programmazione dei socket
Sto provando a programmare dei socket e quindi, lato server, lo utilizzo htonl(INADDR_ANY). Per quanto ho capito, mi sembra che questa funzione generi un IP casuale (ho ragione?). In effetti, voglio associare la mia presa con la mia localhost. Ma se eseguo questo printf("%d",htonl(INADDR_ANY)); Ottengo 0 come valore di ritorno. …
86 c  sockets 


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.