指针符号介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

*是解引用运算符&是取地址运算符

*p=&a这样写是不正确的(除非p是指向指针的指针),这时候*p前面要有类型符(比如int等),通常的情况是这样用的int *p=&a;这一句作用相当于int *p; p=&a; 两句,这句话的意思是定义一个int 类型指针,然后用a的地址给p赋值;

对于指针p来说,*p就是指针p所指向的内存空间存储的值,*p=a就是把p所指向的那一内存空间的值赋值为a,p本身不改变p=&a就是用a的地址对p赋值,a是一个变量,&a就是存储这个变量的内存地址,指针存储的就是一个地址,*p就是这一地址中的内容,这样说能明白吗??不明白来问我吧,我百度hi经常在线#include

int fun(int *x,int y)

{

int t ;

/**************found**************/

t = *x ; *x = y ;

/**************found**************/

return(t) ;

}

main()

{

int a = 3, b = 8 ;

printf("%d %d\n", a, b) ;

b = fun(&a, b) ;

printf("%d %d\n", a, b) ;

}

结果a=8,b=3

在上述程序中,指针x指向a,*x=y,意思指把y的值赋给指针x,而指针x 指的是a,相当于把y的值赋给了a,

x=&y意思是指针指向了y,而不指向a了,指针x的值是y的值,而a的值还是a.

相关文档
最新文档