C程序设计第8章讲解.ppt

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

指针数组作main函数的形参 指针数组的一个重要应用是作为main函数的形参。 int main() 或 int main(void) 表示main函数没有参数,调用main函数时不必给出实参。 * main函数可以有参数: int main(int argc,char *argv[]) 其中,argc和argv就是main函数的形参,它们是程序的“命令行参数”。 argv是*char指针数组,数组中每一个元素(其值为指针)指向命令行中的一个字符串。 argc是指命令行中参数的个数 * 有关指针的小结 1.准确地弄清楚指针的含义。指针就是地址,例如,变量的指针就是变量的地址,指针变量就是地址变量 要区别指针和指针变量。指针就是地址本身,而指针变量是用来存放地址的变量。 * 有关指针的小结 2. 什么叫“指向”? 地址就意味着指向,因为通过地址能找到具有该地址的对象。对于指针变量来说,把谁的地址存放在指针变量中,就说此指针变量指向谁。注意:只有与指针变量的基类型相同的数据的地址才能存放在相应的指针变量中。 * 有关指针的小结 3. 要深入掌握在对数组的操作中怎样正确地使用指针,搞清楚指针的指向。一维数组名代表数组首元素的地址。 * 有关指针的小结 int *p,a[10]; p=a; p是指向int类型的指针变量,p只能指向数组中的元素,而不是指向整个数组。在进行赋值时一定要先确定赋值号两侧的类型是否相同,是否允许赋值。 对“p=a;”,准确地说应该是:p指向a数组的首元素 * 有关指针的小结 4.有关指针变量的定义形式的归纳比较(P289 表8.4) 5.指针运算 指针变量加(减)一个整数 例如:p++, p--, p+i, p-i, p+=i, p-=i 等,均是指针变量加(减)一个整数。 将该指针变量的原值(是一个地址)和它指向的变量所占用的存储单元的字节数相加(减)。 * 有关指针的小结 (2)指针变量赋值 将一个变量地址赋给一个指针变量 不应把一个整数赋给指针变量 (3) 两个指针变量可以相减 如果两个指针变量都指向同一个数组中的元素,则两个指针变量值之差是两个指针之间的元素个数 * 有关指针的小结 (4) 两个指针变量比较 若两个指针指向同一个数组的元素,则可以进行比较 指向前面的元素的指针变量“小于”指向后面元素的指针变量 如果p1和p2不指向同一数组则比较无意义 * 有关指针的小结 (5) 指针变量可以有空值,即该指针变量不指向任何变量,可以这样表示: p=NULL; * * 英文单词 pointer 指针 pointer variable 指针变量 address 地址 pointer arrays 指针数组 pointers to pointers 指向指针的指针 pointers to functions 指向函数的指针 command-line arguments 命令行参数 * 第8章作业 P291 8.3 8.6 8.8 8.14 选作: 有一个一维数组,内放40个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分(要求:不能用全局变量)。 * 写法2:通过指向字符数组的指针变量引用元素 #include stdio.h main( ) {char a[ ]=“I am a Boy.”,b[20],*p1,*p2; int i;   p1=a;p2=b;   for(;*p1!=‘\0’;p1++,p2++)    *p2=*p1;   *p2=‘\0’; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } * 写法2:通过指向字符数组的指针变量引用元素 #include stdio.h main( ) {char a[ ]=“I am a Boy.”,b[20],*p1,*p2; int i;   p1=a;p2=b;   for(; *p1; p1++,p2++)    *p2=*p1;   *p2=‘\0’; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } * 字符指针作函数参数 例:将字符串a复制到字符串b(要求:用函数调用实现) 字符串拷贝的函数。 #include stdio.h void string_copy(char [ ],cha

文档评论(0)

22ffbqq + 关注
内容提供者

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

1亿VIP精品文档

相关文档