c语言之指针1
一、基本概念
1、指针:一个变量的地址,它是一个整数形式的常量。
2、指针变量:专门用来存放地址的变量叫指针变量,它的值也可以是数组或函数的地址 。
3、取地址运算符&
含义: 取变量的地址
单目运算符
优先级: 14(第二高的级别)
结合性:自右向左
4、指针运算符*
含义: 从某个地址中获取数据
单目运算符
优先级: 14
结合性:自右向左
地址 值 变量
2000 整型变量i
2001 10
2002
2003
2004 指针变量i_pointer i_pointer=&i
2005 2000
2006
含义:
i_pointer-----指针变量,它的内容是地址量2000
*i_pointer----指针的目标变量i,它的内容是数据10
&i_pointer---指针变量占用内存的地址:2004
5、直接访问:按变量地址存取变量值。例如i=10;
6、间接访问:通过存放变量地址的变量去访问变量.例如:*i_pointer=10;
二、指针变量的定义
[存储类型] 数据类型 *指针
如:int *p1, *p2;
注意:
1、int *p1, *p2;与int *p1, p2;不一样。
2、指针变量名是p1,p2 ,不是*p1,*p2。
3、指针变量只能指向定义时所规定类型的变量。
4、指针变量定义后,变量值不确定,应用前必须先赋值。
三、指针变量的初始化
一般形式:[存储类型] 数据类型 *指针名=初始地址
例如:
int i;
int *p=&i;
指针变量必须先赋值,再使用
例如:
int i;
int *p;
*p=i---错误。指针p没有指向一个地址也就是没有初始化。