指针学习,新手
指针就是保存地址的变量
int i;
int* p = &i;
int* p,q;
int *p,q;
指针变量
• 变量的值是内存的地址
• 普通变量的值是实际的值
• 指针变量的值是具有实际值的变量的地址
作为参数的指针
void f(int *p);
在被调⽤的时候得到了某个变量的地址:
int i=0; f(&i);
在函数⾥⾯可以通过这个指针访问外⾯的这个i
访问那个地址上的变量*
• *是⼀个单⺫运算符,⽤来访问指针的值所表⽰的地
址上的变量
• 可以做右值也可以做左值
• int k = *p;
• *p = k+1;
*左值之所以叫左值
• 是因为出现在赋值号左边的不是变量,⽽是值,是表
达式计算的结果:
• a[0] = 2;
• *p = 3;
• 是特殊的值,所以叫做左值
指针的运算符&*
• 互相反作⽤
• *&yptr -> * (&yptr) -> * (yptr的地
址)-> 得到那个地址上的变量 -> yptr
!
• &*yptr -> &(*yptr) -> &(y) -> 得到y的地
址,也就是yptr -> yptr
完整的pdf格式文档51黑下载地址:
2 指针计算.pdf
(523.22 KB, 下载次数: 34)
|