首页 热点资讯 义务教育 高等教育 出国留学 考研考公

为什么* p= a中a指向的是指针变量的内容?

发布网友 发布时间:2024-10-24 10:00

我来回答

1个回答

热心网友 时间:2024-10-25 08:53

c语言中*p=a是指针变量赋值语句,这种写法有两种可能意思:

指针变量定义时的初始化赋值

int a[10];

int *p=a ; //这时的a是个地址,如:数组名或指针变量,表示定义指针变量p,同时,p指向地址a。 这里的*是跟随int的,用来表示p变量是int *类型。


指针变量定义后,给指针变量所指内存中的数据赋值

int a=10, x;

int *p ;

p=&x ; //p指向变量x的地址

*p=a ; //这表示向p所指向的地址中存储一个数据a,a是个整型数据。p是x的地地址,*p就是x,本句相当于x=a ;

这里的*是指针变量引用操作运算符,表示引用指针中的数据

注意:

p=&x ;  很重要,指针变量必须要指向一个明确的地址,然后才能*操作,否则,未指定地址的指针变量被称为野指针,引用野指针会造成程序运行异常。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com