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
Trovare duplicati nel tempo O (n) e nello spazio O (1)
Input: dato un array di n elementi che contiene elementi da 0 a n-1, con uno qualsiasi di questi numeri che appare un numero qualsiasi di volte. Obiettivo: trovare questi numeri ripetuti in O (n) e utilizzare solo lo spazio di memoria costante. Ad esempio, sia n 7 e array …
121 c++  c  algorithm 




6
socket connect () vs bind ()
Entrambi connect()e bind()chiamate di sistema 'associato' il file di socket descrittore ad un indirizzo (in genere una combinazione IP / porta). I loro prototipi sono come: - int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); e int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); Qual è la differenza …



22
Posizione del bit meno significativo impostato
Sto cercando un modo efficiente per determinare la posizione del bit meno significativo che è impostato in un numero intero, ad esempio per 0x0FF0 sarebbe 4. Un'implementazione banale è questa: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & 1)) { value …



6
Perché è richiesto il segmento .bss?
Quello che so è che le variabili globali e statiche sono memorizzate nel .datasegmento e i dati non inizializzati sono nel .bsssegmento. Quello che non capisco è perché abbiamo un segmento dedicato per variabili non inizializzate? Se una variabile non inizializzata ha un valore assegnato in fase di esecuzione, la …

7
Trasmetti a int vs floor
C'è qualche differenza tra questi: float foo1 = (int)(bar / 3.0); float foo2 = floor(bar / 3.0); Da quanto ho capito entrambi i casi hanno lo stesso risultato. C'è qualche differenza nel codice compilato?
120 c++  c  floating-point 

10
Crea un puntatore a una matrice bidimensionale
Ho bisogno di un puntatore a un array bidimensionale statico. Come si fa? static uint8_t l_matrix[10][20]; void test(){ uint8_t **matrix_ptr = l_matrix; //wrong idea } Ottengo tutti i tipi di errori come: avviso: assegnazione da un tipo di puntatore incompatibile il valore con indice non è né array né puntatore …
120 c  arrays  pointers 

9
Puntatori C: puntano a un array di dimensioni fisse
Questa domanda va ai guru del C là fuori: In C, è possibile dichiarare un puntatore come segue: char (* p)[10]; .. che fondamentalmente afferma che questo puntatore punta a un array di 10 caratteri. La cosa bella della dichiarazione di un puntatore come questo è che si otterrà un …
120 c  pointers  size 

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.