- 1、本文档共533页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.2 变量的指针和指向变量的指针变量 定义一个指针变量 指针变量在使用前必须定义,使其指向特定类型的变量,指针变量存放地址,必须定义为“指针类型”。 定义的一般形式:基类型 *指针变量名; 基类型:用来指定指针变量可以指向的变量的类型。 将决定指针移动和运算时的移动量。 构成:[存储类型] 数据类型 * :表示该变量为指针类型 C语言程序设计 第十章 指针 例 int *p1,*p2; float *q ; static char *name; 注意: 1、int *p1, *p2; 与 int *p1, p2; 2、指针变量名是p1,p2 ,不是*p1,*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,变量值不确定,应用前必须先赋值 进一步理解与*运算符: 含义 C语言程序设计 第十章 指针 两者关系:互为逆运算 理解 取地址运算符 含义: 取变量的地址 单目运算符 优先级: 2 结合性:自右向左 指针运算符(“间接访问”运算符) 含义: 取指针所指向变量的内容 单目运算符 优先级: 2 结合性:自右向左 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 指针变量 i_pointer-----指针变量,它的内容是地址量 *i_pointer----指针的目标变量,它的内容是数据 i_pointer---指针变量占用内存的地址 2000 10 i_pointer *i_pointer i_pointer i i_pointer i (*i_pointer) i *i_pointer *(i) i_pointer = i = (*i_pointer) i = *i_pointer = *(i) 指针变量的初始化 一般形式:[存储类型] 数据类型 *指针名=初始地址值; C语言程序设计 第十章 指针 赋给指针变量, 不是赋给目标变量 例 int i; int *p=i; 变量必须已说明过 类型应一致 例 int *p=i; int i; 例 int i; int *p=i; int *q=p; 用已初始化指针变量作初值 例 main( ) { int i; static int *p=i; .............. } (?) 不能用auto变量的地址 去初始化static型指针 指针变量赋值: int i, j; int *p1, *p2; p1=i; p2=j ; i=3; *p1=5; j=6; *p2=8; 3 5 6 8 ┇ 2000 2002 i j p1 p2 2000 2002 指针变量的引用 C语言程序设计 第十章 指针 例10.1 通过指针变量访问整型变量 #include stdio.h void main( ) {int a, b, *p1, *p2 ; a=100; b=10; p1=a; p2=b; printf(“a=%d, b=%d\ n”,a, b); printf(“* p1=%d, * p2=%d\ n”, *p1, * p2); printf(“a=%x, b=%x\ n”,a, b); printf(“p1=%x, p2=%x\ n”, p1, p2); printf(“ p1=%x, p2=%x\ n”, p1, p2); } 运行结果: a=100, b=10 *p1=100, *p2=10 a=ffd4, b=
文档评论(0)