当前位置:文档之家› 指针的定义与初始化

指针的定义与初始化

int a; float b; a=3;
b=5;
3AB0
a 3AB8
b
35
•变量与地址
程序中: int i;
float k;
内存中每个字节有一个编号-----地址…...
…...
2000200120022005
内存
2003
i k
编译或函数调用时为其分配内存单元
变量是对程序中数据存储空间的抽象
…...
…...
2000
20042006
2005整型变量i
10
变量i _pointer 2001
20022003•指针:一个变量的地址
•指针变量:专门存放变量地址的变量叫~
2000
指针
指针变量
变量的内容
变量的地址
指针变量变量变量地址(指针)
变量值
指向
地址存入指针变量
指针变量与其所指向的变量之间的关系

一般形式:[存储类型] 数据类型*指针名;
变量i*i_pointer
3
i
2000
i_pointer
*i_pointer
&i i_pointer
i=3;*i_pointer=3
合法标识符指针变量本身的存储类型
指针的目标变量的数据类型
表示定义指针变量
不是‘*’运算符
例int*p1,*p2;
float *q ;
static char *name;
注意:
1、int *p1, *p2;与int *p1, p2;
2、指针变量名是p1,p2 ,不是*p1,*p2
3、指针变量只能指向定义时所规定类型的变量
4、指针变量定义后,变量值不确定,应用前必须先赋值
指针的定义
•指针是一种变量,在定义的同时可以赋给它初始值,称为指针的初始化。

•形式如下:
类型标识符*指针名=初始地址值;
例如,
int m,n[8];char c;
int *pm = &m;int *pn = n;char *pc = &c;
变量地址作初值时,
该变量在此之前已说明过,且类型应一致。

可用已赋初值的指针
去初始化其他指针变量.
定义:例:int i;
int *i_pointer;引用:i=3
*i_pointer=3&i_pointer=3010i_pointer=2000
2000
i_pointer 3*i_pointer
i
2000
内存用户数据区
变量i 变量j 变量i_pointer
36
2000
200020023010
# include “stdio.h”
main()
{int var;
int *p_var;
p_var=&var;
var=8888;
printf("%d\n",var); printf("%d\n",*p_var); printf(“%x\n”,&var);
printf(“%x\n”,p_var); printf(“%x\n”,&p_var); }。

相关主题