C Résumé des points d'examen (1)

黄舟
Libérer: 2017-01-16 11:16:11
original
1142 Les gens l'ont consulté

Amélioration C du langage C - amélioration du type

1. Amélioration du mot-clé de registre

Le mot-clé de registre demande au compilateur de placer les variables directement dans les registres, ce qui est rapide.

En langage C, les variables modifiées par registre ne peuvent pas prendre d'adresses ; en C, elles peuvent prendre des adresses.

2. Amélioration de la détection des variables

En langage C, il est légal de définir à plusieurs reprises plusieurs variables globales portant le même nom. En C, il n'est pas autorisé de définir plusieurs variables globales portant le même nom. nom.

3. Toutes les variables et fonctions en C doivent avoir le type

En langage C

int f( ); signifie que la valeur de retour est int et accepte tous les paramètres Function
int f(void); représente une fonction sans paramètre

dont la valeur de retour est int,

int f( ); ce qui signifie que les deux représentent des fonctions sans paramètre qui renvoient des valeurs int

4. Fonction d'opérateur ternaire améliorée

Exemple : a< : Le langage C renvoie la valeur de la variable ; le langage C renvoie la variable elle-même

L'opérateur ternaire en langage C renvoie la valeur de la variable et ne peut pas être utilisé comme lvalue

En C L'opérateur ternaire peut renvoyer directement la variable elle-même, afin qu'elle puisse apparaître n'importe où dans le programme

Remarque : Si l'une des valeurs que l'opérateur ternaire peut renvoyer est une valeur constante, elle ne peut pas être utilisée comme lvalue ( a < b ? 1 :b )= 30;

Comment le langage C prend-il en charge les fonctionnalités de type C ?

====>La condition pour lvalue : il doit y avoir de l'espace mémoire ; le compilateur C aide simplement le programmeur à obtenir une adresse

1 Reconnaissance du qualificatif Const

Fonction. : Convertit un objet en constante, en lecture seule.




Exemple :

int main()
{
const int a;// 1 第1个第2个意思一样 代表一个常整形数
int const b;// 2
const int *c; // 3 第3个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)
int * const d; //4 第4个 d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)
const int * const e ; //5 第5个 e一个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改)
return 0;
}
Copier après la connexion

2. Comment le compilateur C gère les constantes const : Lorsqu'une constante est déclarée, la constante est placée dans la table des symboles. ;Lorsque vous utilisez des constantes, remplacez-les toujours directement par les valeurs de la table des symboles.

const int bufSize=512;bufSize初始化之后就无法进行修改了。
1)在C++中,const符号表原理:存储方式是符号表即key value
key value
bufSize 512
Copier après la connexion
Conclusion : La différence entre les variables const en langage C et C


Les variables const en langage C sont des variables en lecture seule et ont leur propre espace de stockage

constantes const en C

peut ou non allouer de l'espace de stockage

Lorsque la constante const est globale et doit être utilisée dans d'autres fichiers

Lorsque l'opérateur & est utilisé pour obtenir la constante const Adresse

2) Les similitudes et les différences entre const et #define

sont les mêmes : les deux peuvent être utilisées comme constantes

Différence : les constantes const sont traitées par le compilateur, fournissant la détection de type et la vérification de la portée, les définitions de macro sont traitées par le préprocesseur, simple remplacement de texte.


Ce qui précède est le résumé des points clés de la révision C (1). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Étiquettes associées:
c++
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal