指针:指针是一个值为内存地址的内存变量
int * ptr_year :ptr_year 是 一个地址的值,*ptr_year 是取这个地址所存放的值
基本用法:
数据类型 * 指针变量名
int * ptr_num = NULL; 指针的初值设为空,表示指针不指向任何地址
示例:
int num = 1024; int *ptr_num; //取num变量的地址赋值给ptr_num ptr_num = #
间接运算符 *
int num = 1024; int *ptr_num; //取num变量的地址赋值给ptr_num ptr_num = # //把ptr_num 这个空间的值改掉了 *ptr_num = 1111;
int * ptr_num = #正确的写法
int * ptr_num = num;错误的写法
ptr_num = #
int * ptr_num = # * 就是取ptr _num 这个地址里的值。( *ptr_num = &num 是错误的,前面要加上数据类型)
二次理解!!!
/*为了表示指针变量是存放地址的特殊变量 *定义变量时在变量名前加指向符号 “*” */ int *p;// 定义了一个指向整型变量的指针变量p int *p1, *p2;//定义了两个指向整型变量的指针变量 p1,p2 double *a;//定义了一个指向双精度实型的指针变量a //变量的初始化 int a = 5,b = 10; int *pa = &a; //将变量a的地址赋给pa float x,*pf = &x; //定义单精度实型变量x,并将x的 地址赋给指针变量pf /*第一行定义了整型变量啊、,并为之分配两个存储单元 *第二行又定义了一个指向整型变量的指针变量pa,在内存中就为指针变量分配了一个内存空间 *同时通过取地址运算符(&)把a的地址赋给pa,这样指针变量就指向了确定的变量a */
* 指针变量
注意此处 * 是访问指针所指向变量的运算符,与指针定义时的 * 不同,在定义指针变量时,表示的是 ,* 后是指针变量