Quelques points de connaissance fine de c et c++

1. Les fonctions en C++ peuvent être appelées de manière imbriquée, mais elles ne peuvent pas être définies de manière imbriquée.

2. La différence entre le tableau de pointeurs et le pointeur de tableau

3. Utilisation et explication détaillée de la fonction fopen

4. [Langage C] 5 minutes pour comprendre ce qu'est malloc

5. Sur une machine 32 bits, long occupe 4 octets, longlong occupe 8 octets, char occupe 1 octet et int occupe 4 octets.

6. En C++, le double deux-points :: est un opérateur de résolution de portée, qui est utilisé pour identifier certains noms spécifiques dans la portée. Exemple : xx::_x5les doubles-points dans sont utilisés pour indiquer _x5que la portée de appartient à xxla classe. Plus précisément, xx::signifie _x5qui appartient à xxla portée de la classe, et non à la fonction ou à la portée globale.

int xx::_x5;La signification de ce code est qu'une variable statique est définie dans la portée globale _x5, elle appartient à la classe xx, son type est int, et elle est initialisée à 0.

Il convient de noter que la variable ici _x5est une variable membre statique, qui n'appartient à aucun objet de la classe, mais appartient à la classe entière et peut être partagée par tous les objets de la classe. Lors de la définition d'une variable de membre statique en dehors de la classe, vous devez utiliser l'opérateur de résolution de portée ::pour indiquer à quelle classe appartient la variable. Dans le même temps, les variables membres statiques doivent être définies en dehors de la classe et ne peuvent être déclarées qu'au sein de la classe, ce qui évite les définitions répétées.

7. En mémoire, le stockage des variables doit répondre à deux exigences : l'adresse de départ de la variable doit être un multiple entier de sa taille de type, et la taille de la variable doit être un multiple entier de sa taille de type. Les règles d' alignement de la mémoire sont les suivantes :

  •      L'adresse de début d'une variable de structure doit être un multiple entier de la taille de son plus grand élément interne, c'est-à-dire que l'adresse de début d'une variable de structure doit être un multiple entier de la taille de sa plus grande variable membre.
  •      Le décalage de chaque membre de la structure par rapport à l'adresse de départ doit être un multiple entier de sa taille de type.
  •      La taille totale d'une structure doit être un multiple entier de la taille de sa plus grande variable membre.

8. Dans le langage c, lorsqu'on fait référence à un élément de tableau, le type de données de l'indice du tableau peut être une constante entière, une variable entière ou une expression entière.

9. En langage C, deux signes de pourcentage ("%%") sont utilisés pour imprimer un signe de pourcentage (%). En effet, dans le langage C, le symbole de pourcentage est utilisé comme balise de départ pour les caractères de formatage, tels que "%d" pour générer un entier sous forme décimale. Si vous souhaitez inclure le signe de pourcentage réel dans la sortie, vous devez utiliser deux signes de pourcentage, le premier signe de pourcentage est utilisé pour échapper au deuxième signe de pourcentage, indiquant au compilateur qu'il doit être généré au lieu de n'est pas une balise de début qui est interprété comme un caractère de formatage. Par exemple, le code suivant affichera la chaîne "10 %" à l'écran :

printf("10%%");

10. Le préprocesseur est un module du compilateur C et C++ qui traite le code source avant de compiler le code. Le préprocesseur analyse le code source à la #recherche d'instructions commençant par , et modifie le code en fonction du contenu de l'instruction. #if 0et #endifsont des directives de compilation conditionnelle dans le préprocesseur, dont la syntaxe est la suivante :

#if 常量表达式
    代码块1
#else
    代码块2
#endif

        Dans cette syntaxe, si l'expression constante est vraie, le compilateur inclura 代码块1le code dans le processus de compilation ; sinon, le compilateur inclura 代码块2le code dans le processus de compilation. Lorsque #ifl'expression constante derrière est 0, cela signifie que le code de ce bloc de code ne sera jamais inclus dans le processus de compilation par le compilateur.

        Par conséquent, la fonction de #if 0et #endifest de marquer le bloc de code du milieu comme un commentaire, et le compilateur les ignorera lors de la compilation. Cette méthode peut facilement commenter une grande section de code sans commenter manuellement chaque ligne, ce qui est propice au débogage et à la modification du code.

        Il convient de noter que dans ce cas, #if 0et #endifne sont pas des symboles de commentaire standard, ce sont des directives de prétraitement, qui ne seront traitées qu'à l'étape de prétraitement, donc après que le compilateur a traité le code source, dans ce bloc de code Les commentaires ne sont pas non plus inclus dans l'exécutable compilé.

11. En C++, les formats de sortie courants sont les suivants :

     (1) sortie cout : utilisez l'objet de flux de sortie standard cout et utilisez l'opérateur "<<" pour la sortie. Par exemple:

#include <iostream>using namespace std;
int main() {
    int a = 10;
    cout << "a = " << a << endl; //输出a的值

    return 0;}```
2. printf输出:使用C语言中的printf函数,格式化输出。例如:
```cpp
#include <cstdio>
int main() {
    int a = 10;
    printf("a = %d\n", a); //输出a的值

    return 0;}```
3. iomanip库输出:使用iomanip库中的函数,控制输出格式。例如:
```cpp
#include <iostream>#include <iomanip>using namespace std;
int main() {
    double pi = 3.1415926;
    cout << setiosflags(ios::fixed) << setprecision(3) << pi << endl; //输出pi的值,保留3位小数

    return 0;}```
以上是C++中常见的输出格式,您可以根据具体的需求选择合适的输出方式。

12. Opérateur virgule

    En langage C, l'opérateur virgule ( ,) est un opérateur binaire utilisé pour concaténer plusieurs expressions et les exécuter de manière séquentielle. La caractéristique de l'opérateur virgule est qu'il évalue tour à tour chaque expression et renvoie la valeur de la dernière expression comme résultat de l'expression entière. Par exemple : x=(a=3, 3*6), la valeur de x est renvoyée sous la forme 18.

13. mot-clé externe

  Utilisé pour déclarer des variables ou des fonctions externes, indiquant que la fonction ou la variable déclarée se trouve dans un autre fichier

14. Tableau de caractères

 Un tableau de caractères est utilisé pour stocker un groupe de caractères ou de chaînes, et la chaîne se termine par '\0' comme terminateur.

おすすめ

転載: blog.csdn.net/qq_44732869/article/details/130557672