Heim > Backend-Entwicklung > C#.Net-Tutorial > Was ist der Unterschied zwischen *p und p in der C-Sprache?

Was ist der Unterschied zwischen *p und p in der C-Sprache?

青灯夜游
Freigeben: 2022-11-29 18:03:10
Original
47830 Leute haben es durchsucht

Unterschied: 1. Die Bedeutung ist unterschiedlich. „*p“ stellt den Inhalt dar, der in der Speicheradresse gespeichert ist, auf die dieser Zeiger zeigt . 2. Die Ausgabeformate sind unterschiedlich. „*p“ gibt normalerweise eine Variable oder Konstante vom gleichen Typ aus wie der Zeiger. „p“ gibt eine Hexadezimalzahl und die Adresse eines Zeigers aus. 3. Die Funktionen sind unterschiedlich. „*p“ weist das Programm an, zu dieser Adresse zu gehen, um Daten abzurufen, und „p“ wird zum Speichern der Adresse verwendet.

Was ist der Unterschied zwischen *p und p in der C-Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, c99-Version, Dell G3-Computer.

Verstehen Sie *p und p

in der C-Sprache. In der C-Sprache werden *p und p häufig zur Darstellung eines Zeigers verwendet. Zeigervariable. *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);

}
Nach dem Login kopieren

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

Was ist der Unterschied zwischen *p und p in der C-Sprache?

解释:

Was ist der Unterschied zwischen *p und p in der C-Sprache?

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

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

int **p

Wenn Sie Zeiger verwenden möchten, müssen Sie zuerst Adressen und Daten verstehen: Sie können sich vorstellen, dass es viele Kästchen gibt, jedes Kästchen eine entsprechende Nummer hat, diese Nummer wird „Adresse“ genannt und die Dinge in dem Kästchen werden aufgerufen "Daten".

p ist eine Zeigervariable, die zum Speichern der Adresse verwendet wird. Sie können sich vorstellen, dass die Nummer des oben genannten Felds der Dereferenzierungsoperator ist Nehmen Sie die Box mit der Nummer p und nehmen Sie die darin enthaltenen Daten heraus.

Um es einfach auszudrücken: Sie erinnern sich, dass p die Adresse speichert und p das Programm anweist, zu dieser Adresse zu gehen, um Daten abzurufen.

Was ist der Unterschied zwischen *p und p in der C-Sprache?

In der C-Sprache hat das *-Zeichen drei Verwendungszwecke, nämlich:

🎜🎜🎜Der Unterschied zwischen *p und p in der C-Sprache🎜🎜 1, stellen unterschiedliche Bedeutungen dar🎜🎜*p stellt den Inhalt dar, der in der Speicheradresse gespeichert ist, auf die dieser Zeiger zeigt. 🎜🎜p stellt den Namen einer Zeigervariablen dar, der auf die Speicheradresse verweist, auf die diese Zeigervariable zeigt. 🎜🎜🎜2. Das Ausgabeformat ist unterschiedlich🎜🎜*p ist im Allgemeinen eine Variable oder Konstante, die mit dem Zeigertyp übereinstimmt. 🎜🎜p gibt eine Hexadezimalzahl und die Adresse eines Zeigers aus. 🎜🎜🎜3. Verschiedene Funktionen🎜🎜*p besteht darin, das Programm an diese Adresse gehen zu lassen, um Daten abzurufen. 🎜🎜🎜pspeichert die Adresse. 🎜🎜🎜🎜Beispiel:🎜
int i=10; //定义了一个整型变量
int *p=&i; //定义了一个指针指向这个变量
int **p1=&p; //定义了一个二级指针指向p指针
Nach dem Login kopieren
🎜Das Ausgabeergebnis ist: 3, 3, 4;🎜 🎜 Was ist der Unterschied zwischen *p und p in der C-Sprache?🎜🎜Erklärung: 🎜 🎜Was ist der Unterschied zwischen *p und p in der C-Sprache?🎜🎜🎜 Erweiterungswissen: Der Unterschied zwischen *p und **p🎜int *p: Zeiger der ersten Ebene , repräsentiert p Die Adresse, auf die gezeigt wird, speichert einen Wert vom Typ int 🎜🎜int **p: Ein sekundärer Zeiger, der angibt, dass die Adresse, auf die p zeigt, einen Zeiger auf den Typ int speichert (d. h. p Der gezeigte Adresse speichert einen Zeiger der ersten Ebene, der auf int zeigt)🎜🎜Zum Beispiel: 🎜
printf("i=[%d]\n",*p);
printf("i=[%d]\n",**p1);
Nach dem Login kopieren
🎜Dann lautet die Methode zum Extrahieren des Werts von 10:🎜rrreee🎜🎜🎜🎜Verwandte Empfehlungen: „🎜C Video Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen *p und p in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage