C语言指针基础
1、指针的定义
指针是变量的一种,里面存放存放的是地址,通过这个地址,找到相应的数据。
2、指针的使用
int a ; int *p; int a[10];
int *p=&a; p=&a; int *p=a;
指向函数的指针:
int (*p)();
p=f;//f为函数名,把函数的入口地址赋给指向函数的指针变量
3、&和*运算符
&是取地址的,*是指针运算符,用来获取指针用存放的地址处所存放的数值
3、++运算符和*运算符
++*p 相当于 ++(*p) 执行的操作是,先执行*p=*p+1,在执行*p; p指向的位置没有改变
*p++相当于(*p)++ 执行的操作是 先执行*p,在执行*p=*p+1; p只想的位置没有改变
*p++相当于*(p++) 执行的操作是 先执行*p 在执行p=p+1; p指向下一个元素而不再指向原先的元素
4、指针的加减运算
p+1表示指向下一个数据元素的首地址。不是原地址加1;
5、指针与0的比较
P为指针变量,p==NULL表示空指针,不指向任何变量。P != NULL表示p不是空指针;
指针变量未赋值时,可以是任意值,是不能使用的,会造成意外错误。而指针变量给0值后,则是可以使用的,只是不指向具体的变量。