
FAQ CConsultez toutes les FAQ
Nombre d'auteurs : 35, nombre de questions : 194, derni�re mise � jour : 18 f�vrier 2018
Cette FAQ a �t� r�alis�e � partir des questions fr�quemment pos�es sur les forums de www.developpez.com et de l'exp�rience personnelle des auteurs.
Je tiens � souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes ; les auteurs font le maximum, mais l'erreur est humaine. Cette FAQ ne pr�tend pas non plus �tre compl�te. Si vous trouvez une erreur, ou que vous souhaitez devenir r�dacteur, lisez ceci .
Sur ce, je vous souhaite une bonne lecture.
1. � propos de cette FAQ (3)
2. Information g�n�rale (9)
2.1. Documentation et outils (4)
2.2. Les nouveaut�s de C11 par rapport � C99 (5)
3. Les types et les variables (37)
3.1. G�n�ralit�s (11)
- Quelle est la taille d'un char ?
- Quelle est la taille des diff�rents types ?
- Que signifient signed et unsigned ?
- Quelle est la diff�rence entre char, signed char et unsigned char ?
- Pourquoi mon compilateur ne conna�t-il pas le type long long ?
- Quel est le r�le de l'op�rateur sizeof ?
- Existe-t-il un type bool�en en C ?
- Qu'est-ce que le type size_t ?
- Qu'est-ce que le type wchar_t ?
- Comment cr�er un synonyme d'un type existant ?
- Que signifie l'erreur � undefined reference to xxx � ou � symbol not found � ?
3.2. Structures et unions (7)
- Comment cr�er un alias pour le nom d'une structure ?
- Quelle est la diff�rence entre une structure et une union ?
- Pourquoi la taille d'une structure n'est-elle pas forc�ment �gale � la somme des tailles de ses champs ?
- Comment copier une structure ?
- Comment comparer deux structures ?
- Que signifie 'unsigned int i : ;' ?
- Comment charger les donn�es d'un fichier texte dans une structure ?
3.3. Les op�rateurs (12)
- Quelle est la diff�rence entre = et == ?
- Pourquoi if (a = b) ne g�n�re pas d'erreur de compilation ?
- Que signifie ��x = (a == b) ? 5 : 10�� ?
- Comment calculer le reste d'une division enti�re ?
- Que fait exactement l'op�rateur diviser / ?
- Quelle est la diff�rence entre i++ et ++i ?
- Que font les op�rateurs > ?
- Que signifie E1 & E2 ?
- Que signifie E1 | E2 ?
- Quelle est la diff�rence entre (E1 && E2) et (E1 & E2) ?
- Comment est �valu�e l'expression E1 && E2 ?
- Comment acc�der � un bit d'une variable ?
3.4. Les variables (4)
3.5. Les nombres flottants (3)
4. Pointeurs, tableaux et cha�nes de caract�res (51)
4.1. Les pointeurs (10)
- Qu'est-ce qu'un pointeur ?
- Quand utiliser les pointeurs ?
- Qu'est-ce que NULL ?
- Comment utiliser un pointeur sur une structure ?
- Quelle est la diff�rence entre sizeof(struct data) et sizeof(struct data *) ?
- Comment d�clarer un pointeur sur une fonction ?
- p et q pointent sur deux objets identiques mais (p == q) renvoie toujours faux ! Pourquoi ?
- Qu'est-ce que *p++ incr�mente ?
- Quelle est la diff�rence entre pointeurs constants et pointeurs sur constante ?
- Comment conna�tre le type d'une variable adress�e par un pointeur void * ?
4.2. Les tableaux (10)
- Que signifie 'int t[] = {10, 20};' ?
- Que signifie 'int t[10] = {10, 20};' ?
- Soit t un tableau. Quelle est la diff�rence entre t, &t et &(t[0]) ?
- Soit t un tableau. Que signifie *(t + 3) ?
- Quel est le r�le de l'op�rateur [] ?
- Comment d�clarer et utiliser un tableau ��� plusieurs dimensions � ?
- Que signifie 'int (*p)[4];' ?
- Comment d�clarer et utiliser un tableau de pointeurs de fonctions ?
- Comment passer un tableau en param�tre � une fonction ?
- Comment copier un tableau ?
4.3. Les cha�nes de caract�res (15)
- Qu'est-ce qu'une cha�ne de caract�res ?
- Qu'est-ce que le caract�re NUL ?
- Pourquoi ce NUL est-il obligatoire en fin d'une cha�ne ?
- Quelle est la diff�rence entre 'a' et "a" ?
- Que signifie 'char s[21] = "Bonjour";' ?
- Que signifie 'char * p = "Bonjour";' ?
- Comment convertir une cha�ne de caract�res en minuscules ?
- Comment convertir une cha�ne de caract�res en majuscules?
- Comment convertir un nombre en cha�ne de caract�res ?
- Comment convertir une cha�ne de caract�res en nombre ?
- Comment concat�ner deux cha�nes de caract�res ?
- Comment comparer 2 cha�nes de caract�res ?
- Pourquoi la comparaison avec une cha�ne lue par fgets �choue toujours ?
- Comment cr�er un tableau de cha�nes de caract�res ?
- Quel est le r�le de \ dans une cha�ne de caract�res ?
4.4. L'allocation dynamique de m�moire (7)
- Faut-il toujours lib�rer la m�moire allou�e dynamiquement ?
- Que contient ma m�moire apr�s son allocation ?
- Que vaut un pointeur apr�s free() ?
- Comment conna�tre la taille d'un tableau dynamique ?
- Comment allouer dynamiquement un tableau � 2 dimensions ?
- Quelle est l�utilit� de realloc�?
- Comment (bien) utiliser realloc�?
4.5. Les erreurs de segmentation (9)
- Qu'est-ce qu'une erreur de segmentation, ou segfault ?
- Comment sont provoqu�es les erreurs de segmentation ?
- Pourquoi mon programme provoque-t-il une erreur de segmentation ?
- Que faire pour comprendre l'origine de l'erreur de segmentation ?
- Que faire pour d�tecter les erreurs li�es aux acc�s (lecture ou �criture) m�moire ?
- Qu'est-ce qu'un pointeur invalide (non initialis�) ?
- Qu'est-ce qu'un d�passement de tableau ?
- Qu'est-ce qu'un d�bordement de pile ?
- Qu'est-ce qu'un pointeur invalide (pointeur r�f�ren�ant un espace m�moire n'�tant plus valide) ?
5. Les fonctions et les variables globales (10)
5.1. Les fonctions (8)
- Qu'est-ce qu'un prototype ?
- Est-il possible de d�finir une fonction sans fournir le prototype ?
- Comment passer "une variable" � une fonction ?
- Comment cr�er une fonction qui retourne plus d'une valeur ?
- Comment cr�er une fonction qui retourne une cha�ne de caract�res ?
- Comment retourner un pointeur de fonction ?
- Comment d�finir une fonction acceptant un nombre d'arguments variable, comme printf() ?
- Combiner plusieurs options en un seul param�tre ?
5.2. Les variables globales (2)
6. Les entr�es/sorties (33)
6.1. Entr�es/sorties en g�n�ral (5)
6.2. Gestion du clavier et de l'�cran en mode console (19)
- Pourquoi faut-il valider les caract�res tap�s par Entr�e ?
- Qu'est-ce que le caract�re '\n' ?
- Qu'est-ce que le caract�re '\r' ?
- La touche Entr�e envoie-t-elle le caract�re '\r', '\n' ou '\r' suivi de '\n' ?
- � quoi sert la fonction fflush ?
- Comment lire une ligne de mani�re s�curis�e ?
- Comment vider le buffer clavier ?
- Comment g�n�rer EOF avec le clavier ?
- Pourquoi ne faut-il pas utiliser fflush(stdin) pour vider le buffer clavier ?
- Qu'est-ce qu'un terminal en mode brut (UNIX) ?
- Comment faire passer un terminal en mode brut (UNIX) ?
- Comment faire pour lire un caract�re sans attendre la frappe d'Entr�e ?
- Comment intercepter une touche sans bloquer le programme (DOS/Windows) ?
- Comment simuler la fonction _kbhit sous UNIX ?
- Comment g�rer les touches �tendues (F1..F12, fl�ches) ?
- Comment se positionner dans une console ?
- Comment effacer l'�cran ?
- O� trouver des fonctions portables de gestion du clavier et de l'�cran ?
- O� trouver une biblioth�que de gestion graphique ?
6.3. Les fichiers et les dossiers (7)
6.4. R�seau (2)
7. Compilation et �dition des liens (22)
7.1. Le pr�processeur (13)
- Qu'est-ce que le pr�processeur ?
- Que signifie #define N 10 ?
- Comment d�finir et utiliser une macro param�tr�e ?
- Que signifie #define MYMACRO ?
- Comment savoir si une macro est d�finie ?
- Quels probl�mes peut poser l'utilisation des macros ?
- Quel est le r�le de # dans la d�finition d'une macro ?
- Quel est le r�le de ## dans la d�finition d'une macro ?
- Que signifie #pragma ... ?
- Que signifie #error ... ?
- Peut-on utiliser sizeof dans un #if ?
- Pourquoi je n'arrive pas afficher la date courante avec __DATE__ ?
- Que signifie l'underscore (_) en d�but du nom d'une fonction ou d'une macro, etc. ?
7.2. Techniques de compilation et d'�dition de liens (6)
8. Divers (29)
8.1. Les nombres al�atoires (4)
8.2. Gestion des dates et heures (10)
- Qu'est-ce que l'heure syst�me ?
- Qu'est-ce que l'heure locale ?
- Comment obtenir la date et l'heure courante ?
- Comment d�composer une date ?
- Comment formater une date sous un format sp�cifique ?
- Comment convertir une date en cha�ne de caract�res ?
- Comment soustraire deux dates ?
- Comment conna�tre l'heure syst�me (Windows) ?
- Comment conna�tre l'heure locale (Windows) ?
- Comment chronom�trer des temps d'ex�cution ?
8.3. Gestion des processus (2)
8.4. Communication avec l'environnement (5)
8.5. Gestion des erreurs (3)
8.6. Bonnes pratiques (3)
Les sources pr�sent�es sur cette page sont libres de droits et vous pouvez les utiliser � votre convenance. Par contre, la page de pr�sentation constitue une �uvre intellectuelle prot�g�e par les droits d'auteur. Copyright � 2025 Developpez Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'� trois ans de prison et jusqu'� 300 000 � de dommages et int�r�ts.