关于指针
指针就是地址,凡是出现“指针”的地方,都可以用“地址”代替,例如,变量的指针就是变量的地址,指针变量就是地址变量。
指针变量
指针变量是把谁的地址存放在指针变量中,就说此指针变量指向谁。但应该注意:并不是任何类型的数据都可以存放在同一个指针变量中的。例如:
int a,*p;
float b;
p=&a; //a是int类型,合法
p=&b; //b是float类型,类型不匹配
指针赋值
指针变量加(减)一个整数。例如:p++,p- -,p+i,p-i,p-=i 等均是指针变量加减一个整数。将该指针变量的原值(地址)和它指向的变量所占用的存储单元的字节数相加(减)。
指针变量赋值。将一个变量地址赋给一个指针变量。例如:
int a,array[10];
p=&a; //将变量a的地址赋给p
p=&array; //将数组array的地址赋给p(这里p指向整个数组,这个地址的值和数组首元素的值实际上是相同的,但意义是不同的,你可以尝试打印出(&array + 1) 和 (array + 1)的值来看看)
p=array; //将数组array的首元素的地址赋给p
p=&a[0]; //将数组array的首元素的地址赋给p
p=&array[i]; //将数组array的第i个元素的地址赋给p
p=max; //max为已定义的函数,将max的入口地址赋给p
p1=p2; //p1和p2是基类型相同指针变量,将p2的值赋给p1
网友评论