Maison > développement back-end > Tutoriel C#.Net > Quelle est la différence entre *p et p en langage C

Quelle est la différence entre *p et p en langage C

青灯夜游
Libérer: 2022-11-29 18:03:10
original
47929 Les gens l'ont consulté

Différence : 1. Les significations sont différentes. "*p" représente le contenu stocké dans l'adresse mémoire pointée par ce pointeur. "p" représente le nom d'une variable pointeur, qui fait référence à l'adresse mémoire pointée par cette variable pointeur. . 2. Les formats de sortie sont différents. "*p" génère généralement une variable ou une constante du même type que le pointeur "p" génère un nombre hexadécimal et l'adresse d'un pointeur. 3. Les fonctions sont différentes. "*p" indique au programme d'accéder à cette adresse pour récupérer des données, et "p" est utilisé pour stocker l'adresse.

Quelle est la différence entre *p et p en langage C

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

Comprenez *p et p

en langage C, *p et p sont couramment utilisés pour représenter un pointeur. variable de pointeur. *pp

C语言中,*p 和p都常用在指针当中表示一个指针变量。

想要利用指针,需先理解地址和数据:你可以想象有很多盒子,每个盒子有对应的号码,那个号码叫做“地址”,而盒子里放的东西叫做“数据”。

p是指针变量,用来存放地址,你可以认为是上面所说的盒子的号码,“ * ”是解引用操作符,你可以把它理解成打开盒子,p就是打开p号盒子,取出里面的数据。

简单来说,你记住,p存放的是地址,而p是让程序去那个地址取出数据。

在C 语言中*号有三个用途,分别是:

  • 乘号,用做乘法运算,例如5*6。

  • 申明一个指针,在定义指针变量时使用,例如int *p;。

  • 间接运算符,取得指针所指向的内存中的值,例如printf("%d",*p);。

C语言中*pp的区别

1、表示的含义不同

*p表示此指针指向的内存地址中存放的内容。

p表示一个指针变量的名字,指此指针变量所指向的内存地址。

2、输出的格式不同

*p一般是一个和指针类型一致的变量或者常量。

p输出的是一个16进制数, 输出一个指针的地址。

3、功能不同

*p是让程序去那个地址取出数据。

p存放的是地址。

例子:

#include <stdio.h>

int main(void){ 

int x=3;

int *p,*q;

p=&x,q=&x;

printf("%d\n",*p++);

printf("%d\n",(*q)++);

printf("%d\n",x);

}
Copier après la connexion

输出结果为:3,3,4;

Quelle est la différence entre *p et p en langage C

解释:

Quelle est la différence entre *p et p en langage C

扩展知识:*p**p的区别

int *p :一级指针,表示p所指向的地址里面存放的是一个int类型的值

int **p

Si vous souhaitez utiliser des pointeurs, vous devez d'abord comprendre les adresses et les données : vous pouvez imaginer qu'il y a de nombreuses cases, chaque case a un numéro correspondant, ce numéro est appelé "adresse", et les éléments dans la case sont appelés "données".

p est une variable de pointeur, utilisée pour stocker l'adresse. Vous pouvez la considérer comme le numéro de la boîte mentionnée ci-dessus. "*" est l'opérateur de déréférencement. Vous pouvez la considérer comme ouvrir la boîte. numéro de boîte p et en retirant les données à l’intérieur.

Pour faire simple, vous vous en souvenez, p stocke l'adresse et p indique au programme d'aller à cette adresse pour récupérer les données.

Quelle est la différence entre *p et p en langage C

En langage C, le signe * a trois utilisations, à savoir :

🎜🎜🎜La différence entre *p et p en langage C🎜🎜 1 , représentent différentes significations🎜🎜*p représente le contenu stocké dans l'adresse mémoire pointée par ce pointeur. 🎜🎜p représente le nom d'une variable pointeur, qui fait référence à l'adresse mémoire pointée par cette variable pointeur. 🎜🎜🎜2. Le format de sortie est différent🎜🎜*p est généralement une variable ou une constante cohérente avec le type de pointeur. 🎜🎜p génère un nombre hexadécimal et l'adresse d'un pointeur. 🎜🎜🎜3. Différentes fonctions🎜🎜*p consiste à laisser le programme se rendre à cette adresse pour récupérer des données. 🎜🎜🎜pstocke l'adresse. 🎜🎜🎜🎜Exemple :🎜
int i=10; //定义了一个整型变量
int *p=&i; //定义了一个指针指向这个变量
int **p1=&p; //定义了一个二级指针指向p指针
Copier après la connexion
🎜Le résultat de sortie est : 3, 3, 4 ;🎜 🎜 Quelle est la différence entre *p et p en langage C🎜🎜Explication : 🎜 🎜Quelle est la différence entre *p et p en langage C🎜🎜🎜 Connaissance des extensions : la différence entre *p et **p🎜int *p : pointeur de premier niveau , représentant p L'adresse pointée stocke une valeur de type int 🎜🎜int **p : un pointeur secondaire, indiquant que l'adresse pointée par p stocke un pointeur pour type int (c'est-à-dire p Le pointé L'adresse stocke un pointeur de premier niveau pointant vers int)🎜🎜Par exemple : 🎜
printf("i=[%d]\n",*p);
printf("i=[%d]\n",**p1);
Copier après la connexion
🎜Ensuite, la façon d'extraire la valeur de 10 est :🎜rrreee🎜🎜🎜🎜Recommandations associées : "🎜Tutoriel vidéo C🎜"🎜

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 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