Maison  >  Article  >  développement back-end  >  Quelle est la forme de stockage des données de type char en mémoire en langage C ?

Quelle est la forme de stockage des données de type char en mémoire en langage C ?

青灯夜游
青灯夜游original
2021-01-28 18:29:3116075parcourir

En langage C, la forme de stockage des données de type char en mémoire est le "code ASCII". En langage C, mettre une constante de caractère dans une variable de caractère ne met pas réellement le caractère lui-même dans l'unité de mémoire, mais place le code ASCII correspondant au caractère dans l'unité de stockage.

Quelle est la forme de stockage des données de type char en mémoire en langage C ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, version c99, ordinateur Dell G3.

En langage C, la forme de stockage des données de type char en mémoire est le "code ASCII".

Recommandation du didacticiel : "Vidéo du didacticiel en langage C"

Type de caractère en langage C

Le type de données de caractère est caractère

1 Représentation des données de caractère

Les données de caractère sont un caractère entouré de guillemets simples. Par exemple :
'a', 'b', '=', '+', '?' sont toutes des données de caractère légal.
En langage C, les données de caractères ont les caractéristiques suivantes :

Les données de caractères ne peuvent être placées que entre guillemets simples, et non entre guillemets doubles ou autres crochets.

Les données de caractères ne peuvent être qu'un seul caractère, pas une chaîne. Les caractères

peuvent être n'importe quel caractère du jeu de caractères. Mais une fois qu’un nombre est défini comme type de caractère, il ne peut plus participer aux opérations numériques. Par exemple, « 5 » et 5 sont différents. « 5 » correspond à des données de caractère et ne peut pas participer aux opérations.

Caractère d'échappement

Le caractère d'échappement est un caractère spécial. Le caractère d'échappement commence par une barre oblique inverse "", suivie d'un ou plusieurs caractères. Les caractères d'échappement ont des significations spécifiques qui sont différentes de la signification originale des caractères, c'est pourquoi ils sont appelés caractères « d'échappement ». Les caractères d'échappement

sont principalement utilisés pour représenter des codes de contrôle difficiles à exprimer à l'aide de caractères ordinaires.

Guillemet simple

常用的转义字符及其含义

转义字符

转义字符的意义

ASCII代码

n

回车换行

10

t

横向跳到下一制表位置

9

b

退格

8

r

回车

13

f

走纸换页

12

\

反斜线符""

92

'

单引号符

39

双引号符

34

a

鸣铃

7

ddd

1~3位八进制数所代表的字符

 

xhh

1~2位十六进制数所代表的字符

 

Caractères d'échappement couramment utilisés et leurs significations
Caractères d'échappement La signification des caractères d'échappement Code ASCII
n Saisie et saut de ligne td > 10
t Sauter horizontalement à l'onglet suivant Emplacement 9
b Grille arrière 8
r Réponse Car 13
f Page Go Paper changement 12
\ Barre oblique inverse caractère"" 92
'39
Guillemets doubles 34
a Sonnerie 7
ddd Caractères représentés par 1 à 3 nombres octaux
xhh Caractères représentés par 1 à 2 nombres hexadécimaux

2. Spécificateur de type de caractère

Le spécificateur de type de la variable de caractère est char. Le format et les règles d'écriture définies pour les variables de type caractères sont les mêmes que celles pour les variables entières. Par exemple :
char a,b;

3. La forme de stockage et l'utilisation des variables de caractères en mémoire

Chaque variable de caractère se voit attribuer un octet d'espace mémoire, elle ne peut donc stocker qu'un seul caractère. La valeur du caractère est stockée dans l'unité mémoire de la variable sous forme de code ASCII.

Par exemple, le code décimal ASCII de x est 120 et le code décimal ASCII de y est 121. Attribuez des valeurs 'x' et 'y' aux variables de caractères a et b :
a='x';
b='y';
stocke en fait les codes binaires de 120 et 121 dans les unités a et b :
Exemple : Attribuez un entier à une variable de caractère.

#include<stdio.h>
int main(void)
{
    chara,b;
    a=120;
    b=121;
    printf("%c,%c\n",a,b);
    printf("%d,%d\n",a,b);
    return0;
}

Dans ce programme, a et b sont définis comme des types de caractères, mais des valeurs entières sont attribuées dans l'instruction d'affectation. D'après les résultats, la forme de sortie des valeurs a et b dépend du caractère de format dans la chaîne de format de la fonction printf. Lorsque le caractère de format est "c", la valeur de la variable de sortie correspondante est le caractère . . Lorsque le caractère de format est Lorsque "d" est utilisé, la valeur de la variable de sortie correspondante est un entier.

On peut le voir à partir de ceci :

(1) Le code ASCII minuscule est 32 plus grand que le code ASCII majuscule

(2) Le code ASCII suivant est plus grand que le code ASCII précédent

(3) Pour changer '3' en 3, il vous faut '3' -'0'= 3

4. Chaîne

Une chaîne est une séquence de caractères entourée d'une paire de guillemets doubles. Par exemple : "CHINE", "Programme C", "$12.5", etc. sont toutes des chaînes légales.

Les chaînes et les caractères sont différents. Les principales différences entre eux sont les suivantes :

Les caractères sont placés entre guillemets simples et les chaînes sont placées entre guillemets simples. entre guillemets doubles. Le caractère

ne peut être qu'un seul caractère, tandis qu'une chaîne peut contenir un ou plusieurs caractères.

Vous pouvez attribuer des données de caractères à une variable de caractères, mais vous ne pouvez pas attribuer une chaîne à une variable de caractères. Les caractères

occupent un octet d'espace mémoire. Le nombre d'octets mémoire occupés par une chaîne est égal au nombre d'octets de la chaîne plus 1. Les caractères sont stockés dans l'octet ajouté"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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