Questions marquées «c»

C est un langage de programmation à usage général utilisé pour la programmation système (OS et embarqué), les bibliothèques, les jeux et les plateformes multiples. Cette balise doit être utilisée avec des questions générales concernant le langage C, tel que défini dans la norme ISO 9899 (la dernière version, 9899: 2018, sauf indication contraire - également balise les demandes spécifiques à la version avec c89, c99, c11, etc.). C est distinct de C ++ et il ne doit pas être combiné avec la balise C ++ en l'absence d'une raison rationnelle.


13
Recherche de doublons dans le temps O (n) et dans l'espace O (1)
Entrée: étant donné un tableau de n éléments qui contient des éléments de 0 à n-1, avec l'un de ces nombres apparaissant un nombre illimité de fois. Objectif: trouver ces nombres répétés en O (n) et en n'utilisant que l'espace mémoire constant. Par exemple, soit n 7 et array {1, …
121 c++  c  algorithm 

23
Qu'est-ce qui appartient à un outil pédagogique pour démontrer les suppositions injustifiées que les gens font en C / C ++?
Je voudrais préparer un petit outil éducatif pour SO qui devrait aider les programmeurs débutants (et intermédiaires) à reconnaître et à contester leurs hypothèses injustifiées en C, C ++ et leurs plates-formes. Exemples: "les entiers s'enroulent" "tout le monde a ASCII" "Je peux stocker un pointeur de fonction dans un …



6
socket connect () vs bind ()
Les deux connect()et les bind()appels système «associent» le descripteur de fichier de socket à une adresse (généralement une combinaison ip / port). Leurs prototypes sont comme: - int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); et int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); Quelle est la différence …



22
Position du bit le moins significatif défini
Je recherche un moyen efficace de déterminer la position du bit le moins significatif qui est défini dans un entier, par exemple pour 0x0FF0, ce serait 4. Une implémentation triviale est la suivante: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & …



6
Pourquoi le segment .bss est-il requis?
Ce que je sais, c'est que les variables globales et statiques sont stockées dans le .datasegment et que les données non initialisées sont dans le .bsssegment. Ce que je ne comprends pas, c'est pourquoi avons-nous un segment dédié pour les variables non initialisées? Si une variable non initialisée a une …

9
Pointeurs C: pointant vers un tableau de taille fixe
Cette question s'adresse aux gourous C là-bas: En C, il est possible de déclarer un pointeur comme suit: char (* p)[10]; .. qui indique essentiellement que ce pointeur pointe vers un tableau de 10 caractères. La chose intéressante à propos de la déclaration d'un pointeur comme celui-ci est que vous …
120 c  pointers  size 

13
imprimer la pile d'appels en C ou C ++
Existe-t-il un moyen de vider la pile d'appels dans un processus en cours d'exécution en C ou C ++ chaque fois qu'une certaine fonction est appelée? Ce que j'ai à l'esprit est quelque chose comme ceci: void foo() { print_stack_trace(); // foo's body return } Où print_stack_tracefonctionne de la même …
120 c++  c  linux  callstack 

6
Comment puis-je imprimer sur stderr en C?
En C, l'impression vers stdout est facile, avec printffrom stdio.h. Cependant, comment imprimer sur stderr? On peut l'utiliser fprintfpour y parvenir apparemment, mais sa syntaxe semble étrange. Peut-être pouvons-nous utiliser printfpour imprimer sur stderr?
120 c  printf  stderr 

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.