>  기사  >  백엔드 개발  >  C 언어에서 *p와 p의 차이점은 무엇입니까

C 언어에서 *p와 p의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2022-11-29 18:03:1047740검색

차이: 1. 의미가 다릅니다. "*p"는 이 포인터가 가리키는 메모리 주소에 저장된 내용을 나타냅니다. "p"는 이 포인터 변수가 가리키는 메모리 주소를 나타내는 포인터 변수의 이름을 나타냅니다. . 2. 출력 형식이 다릅니다. "*p"는 일반적으로 포인터와 동일한 유형의 변수 또는 상수를 출력합니다. 3. 기능이 다릅니다. "*p"는 프로그램이 해당 주소로 이동하여 데이터를 검색하도록 지시하고 "p"는 주소를 저장하는 데 사용됩니다.

C 언어에서 *p와 p의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, c99 버전, Dell G3 컴퓨터.

C 언어의 *pp

를 이해하세요. C 언어에서 *p와 p는 일반적으로 포인터를 나타내는 데 사용됩니다. 포인터 변수. *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);

}

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

C 언어에서 *p와 p의 차이점은 무엇입니까

解释:

C 언어에서 *p와 p의 차이점은 무엇입니까

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

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

int **p

포인터를 사용하려면 먼저 주소와 데이터를 이해해야 합니다. 상자가 많고, 각 상자에 해당하는 숫자가 있고, 그 숫자를 "주소"라고 하며, 상자 안에 있는 항목을 "주소"라고 한다고 상상할 수 있습니다. "데이터".

p는 주소를 저장하는 데 사용되는 포인터 변수입니다. "*"는 역참조 연산자로, p는 상자를 여는 것을 의미한다고 생각하면 됩니다. 상자 번호 p를 선택하고 내부의 데이터를 꺼냅니다.

간단히 말하면 p는 주소를 저장하고 p는 프로그램에 데이터를 검색하기 위해 해당 주소로 이동하라고 지시한다는 것을 기억하세요.

C 언어에서 *p와 p의 차이점은 무엇입니까

C 언어에서 * 기호에는 세 가지 용도가 있습니다. 즉:

🎜🎜🎜C 언어의 *pp의 차이점🎜🎜 1, 다른 의미를 나타냅니다.🎜🎜*p는 이 포인터가 가리키는 메모리 주소에 저장된 내용을 나타냅니다. 🎜🎜p는 포인터 변수의 이름을 나타내며, 이 포인터 변수가 가리키는 메모리 주소를 나타냅니다. 🎜🎜🎜2. 출력 형식이 다릅니다🎜🎜*p는 일반적으로 포인터 유형과 일치하는 변수 또는 상수입니다. 🎜🎜p는 16진수와 포인터의 주소를 출력합니다. 🎜🎜🎜3. 다양한 기능🎜🎜*p은 프로그램이 해당 주소로 이동하여 데이터를 검색하도록 하는 것입니다. 🎜🎜🎜p주소를 저장합니다. 🎜🎜🎜🎜예:🎜
int i=10; //定义了一个整型变量
int *p=&i; //定义了一个指针指向这个变量
int **p1=&p; //定义了一个二级指针指向p指针
🎜출력 결과는 3, 3, 4;🎜 🎜 C 언어에서 *p와 p의 차이점은 무엇입니까🎜🎜설명: 🎜 🎜🎜🎜🎜 확장 지식: *p**p🎜int *p의 차이점: 첫 번째 수준 포인터 p를 나타내는 , 가리키는 주소는 int 유형의 값을 저장합니다. 🎜🎜int **p: p가 가리키는 주소가 int 유형에 대한 포인터를 저장함을 나타내는 보조 포인터(예: p 주소는 int를 가리키는 첫 번째 수준 포인터를 저장합니다.)🎜🎜예: 🎜
printf("i=[%d]\n",*p);
printf("i=[%d]\n",**p1);
🎜그런 다음 10의 값을 추출하는 방법은 다음과 같습니다.🎜rrreee🎜🎜🎜🎜관련 권장 사항: "🎜C 비디오 튜토리얼🎜"🎜

위 내용은 C 언어에서 *p와 p의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.