[教育]第7章指针1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[教育]第7章指针1

第 7 章 指 针 张倩 2.变量地址──系统分配给变量的内存单元的起始地址 若在程序中定义了一个变量,C编译系统就会根据定义变量的类型,为其分配一定字节数的内存空间。 一般情况下,程序中只需指出变量名,无须知道每个变量在内存中的具体地址,每个变量的具体地址由C编译系统来完成。 3.变量的存取方式 (1)直接访问:按变量地址存取变量值的方式称为“直接访问”方式 。 3.变量的存取方式 (2)间接访问:通过存放地址的单元找到变量的存储空间。C语言规定:在程序中定义一种特殊的变量(指针变量)用来存放其他变量的地址。 假设我们定义了一个指针变量i_pointer用来存放整型变量的地址,可以通过语句:i_pointer =i;将i的地址(2000)存放到i_pointer中。这时, i_pointer的值就是(2000) ,即变量i所占用单元的起始地址。 要存取变量i的值,可以采用间接方式:先找到存放“i的地址”的变量i_pointer ,从中取出i的地址(2000), 然后到2000、 2001字节取出i的值(3)。 7.4.1 字符串的指针 2. 字符指针 也可以直接定义指向字符串的指针变量,利用该指针变量对字符串进行操作。 例7.14 字符指针应用举例。 #include stdio.h void main() { char *ps=C program.; printf(%s\n,ps); } 在程序中,语句*ps=C program.;表示,首先定义ps是一个字符指针变量,然后把字符串的首地址赋予ps,并不是把整个字符串存入变量ps中。也可以写成以下形式: char *ps; ps=C program.; 但是要注意,对指向字符变量的指针变量应赋予该字符变量的地址,例如: char c,*p=c; *p=a; 表示p是一个指向字符变量c的指针变量,可以通过指针变量p给变量c赋值。 7.4 字符串的指针和指向字符串的指针变量 例7.15 在字符串中查找有无某字符(如:’k’)。 #include stdio.h void main() { char st[50],*ps; int i; printf(input a string:); ps=st; scanf(%s,ps); for(i=0;ps[i]!=\0;i++) if(ps[i]==k) /* 在输入的字符串中查找有无‘k’字符 */ break; if(ps[i]==\0) printf(there is no k in the string.\n); else printf(there is a k in the string.\n); } 例如: float a,b,*p1,*p2,*p3; /* 定义了2个单精度简单变量,3个指针变量 */ int n,c[10],*q1,*q2; /*定义了1个整型简单变量,1个整型数组变量,2个指针变量 */ p1=a; p2=b; /* p1和p2指向两个不同的变量a、b*/ q1=c[1]; q2=c[7]; /* q1和q2指向同一个数组的不同的数组元素 */ n=q2-q1; /* 相差的元素个数,其值为6 */ p3=p1+p2; /* 毫无意义 */ p3=q1; /* 不正确,指针类型不同 */ 7.2.4 指针变量的运算 7.2 指向变量的指针变量 3. 指针变量的关系运算 基于类型相同的两个指针变量之间的关系运算,表示它们指向的地址位置之间的关系。假如数据存放在一段连续的存储空间内,那么指向后面存储单元的指针变量的值大于指向前面存储单元的指针变量的值。指向同一个存储单元的两个指针变量的值相等。因此,两个指针变量之间可以进行大于、大于等于、小于、小于等于、等于、不等于(,=,,=,==,!=)的比较运算。 另外,在程序中,判断空指针变量可以与整数比较。设p为指针变量,若有p==0成立,表明p是空指针,它不指向任何变量;若p!=0成立,表明p不是空指针。 7.2.4 指针变量的运算 7.2

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档