首页 > 编程知识 正文

指针初始化和赋值的区别,怎么给指针初始化

时间:2023-05-05 22:44:48 阅读:58151 作者:862

突然关于指针有不明白的地方。 例如,int *p=a; 我们不是说“*”是取值的吗? 那么,后面不应该接的是数值,怎么地址?

1、指针初始化指针初始化时,"="的右操作数必须是内存中数据的地址,不能是变量,不能直接使用整数地址值(但此语句表示指针为空)。 此时,*p只是表示定义了指针变量,没有间接取值的意义。

int a=6; int *p=a; (这意味着p是a的地址,没有为指针p赋值的意思(int b[10]; int *point=b; (b是数组,一维数组名称表示数组的起始地址(或int *p=b[0]; 2、指针赋值指针赋值指针。 “=”的左操作数可以是*p或p。

“=”的左操作数为*p时,p是指存储在对应地址中的数据。

如果“=”的左操作数为p,则p指向的是地址。

int *p; int a; int b[1]; p=a; *p=a; p=b; 的变量名b表示该数组的起始地址,因此p=b; 是正确的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。