指针也是一种变量:指针存放的是地址
不同于整形变量int型存放的是整数,或者字符变量char型存放的是字符等变量,指针变量存放的是"地址"。
指针的定义:
int a = 10;
第 1 种写法:
int* p ; 定义一个指针变量
p = &a; 给指针变量赋值
第2种写法:
int *p = &a; 定义并初始化一个指针变量
通过指针p访问变量 a ;
printf( "%d ", *p); 此时的 * 代表的是取内容,取出 p 指针指向变量 a 的地址中的值。
但是不能:
*p = &a; 这是典型的错误的写法
为什么不能这么写:因为 * 只有在定义一个指针变量的时候,才是指针的标识符。
其他情况,都是一个运算符。此时的 * 代表的就是一个运算符。该运算符的功能是,取出内存中数据的值(取内容)