初级指针问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 04:19:28
int *p=i;
int *p=&i;
有什么区别啊,希望知道的人能给我讲讲,最好仔细点。
我无以为报,就多加十分吧。

int *p=i; 把i的值赋值给p所指向的内存单元。

int *p=&i; 定义指针变量p,并且初始化为指向变量i,即p的值为变量 i的内存地址。

int *p=i;
是把变量i中的值赋给指针P所指向的地址;
int *p=&i;
是把内存中编号为i的地址里边的值赋给P所指向的地址;

int *p=i; //定义一个类型为整形的指针变量p,并且为它赋初始值为i。

int *p=&i; //定义一个类型为整形的指针变量p,并且将变量i的地址赋给p作为初始值。。。

“&”为取地址运算符。‘&i’就是‘取i的地址’。。 内存编号就是内存地址的意思啦!

前面的是把i的值赋给p
后面是把i的地址所指的值赋给p