指针
定义
指针也就是内存地址,指针变量是用来存放内存地址的变量
形式:(基类型) *指针变量名 例:int *p(一般习惯定义p)
定义多个变量名:int *p1,*p2……
Attention:指针的地址不能“赋值”,因为变量地址是常数,不可对其赋值。
换句话说int *p;*p=7;这样不行。
但是int a,*p=&a;*p=7;可以
%p格式符
输出地址值,地址是一个十六进制的无符号整数表示的。
&:取地址符
*:间接寻址运算符,用来访问指针变量指向的变量的值
地址:
占存储空间的首地址
值:
就是变量在存储空间存放的数据。
引用
赋空值:int *a=NULL
非空值:int *p; int a=2; p=&a or int a=2; int *p=&a
输出示例
int *p; a=0; p=&a;
printf(“a:%d,&a:%p,a,&a”)//第一个输出数值0,第二个是地址
指针与函数
First指针函数
函数返回值为指针时,实际上就是返回一个地址给调用函数
形式: 基类型*函数名(参数)(int比较常见)
这里如果和函数的形参里是指针参数,在定义和调用内容时,并不修改函数里面的数的值,而是改变引用的值。
Second函数指针
指向函数的指针变量 p。 因此“函数指针”本身首先应是指针变量。包含了函数的地址,并通过它调整函数
基类型(*函数名)(参数)