- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 指针、结构体及预处理命令
* * 在32位机中,sizeof(int)=4,即int型数据占用4个内存单元 * * * 指针每递增一次,它都会指向下一个元素的内存单元。 指针每递减一次,它都会指向前一个元素的地址。 其他所有指针的增减将取决于它们所指向变量的数据类型长度。 * * * * * * 1.B 2.14 1) #include stdio.h int main() { int a; int *p; double *q; scanf(“%d”, p); printf(“%d\n”, *p); q = a; if (p = q) printf(“In the same room.\n”); else printf(“Seperated.\n”); return 0;} 课堂练习 下面的程序存在语法和逻辑错误,请指出并改正。 p=a; ╳ int *q p==q 2) #include stdio.h int main() { int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int i; while (i = 10) { printf(“%d\n”, *a); ++a; } return 0; } 课堂练习 i10 printf(“%d\n”, a[i]); ++i; int *p; while(i10){ printf(“%d\n”, *p); ++i; } * 指向字符串的指针.P162-P164 在C语言中,可以将字符指针指向字符串 被指向的字符串可以是一个常量字符串,也可以是一个存储着字符串的字符数组 char *ptr = C Language; C L a n g u a g e \0 ptr char *ps=“I like c program; int n=9; ps=ps+n; printf(%s\n,ps); I l i k e C P r o g r a m \0 ps program * 指向字符串的指针.P162-P164 char uname[30]=wahaha yiyiyaya; char *p; int count; count = 0; for (p = uname; *p != \0; p++) { if (*p == a) count++; } W a h a h a y i y i y a y a \0 ps uname count 0 5 循环 * 指针变量作为函数参数.P168-P171 函数的参数不仅可以是整数、实型、字符型等数据,还可以是指针类型,它的作用是将一个变量的地址传递到另一个函数中。 示例:交换两个变量的值 * 练习 5. 有以下程序: point(char *p) { p+=3; } main() { char b[4]={‘a’,’b’,’c’,’d’},*p=b; point(p); printf(“%c\n”,*p); } 程序运行后的输出结果是() A.a B.b C.c D.d A 函数返回指针.P173-P174 大多数情况,函数返回的都是一个简单类型的值 而有时,函数会产生一个数据对象(如数组、指针等),并且希望将这个对象返回给调用者 这时,我们就可以让函数返回一个指向这个数据对象的指针,而不是整个对象返回给调用者,那样会引起内存数据的复制。 格式:类型 *函数名(形参列表) 例子:char * strchr(char ch, char *s); * 结构体简介 存储一个班级中 5 名学员的信息(学号、姓名、性别和成绩) 问题: I. 使用数组 Mary John Peter Rose Kate F M F M F 01 02 03 04 05 89 78.5 67 97.5 64 解决方案: score num sex name 不能建立数组间的关系 II. 使用多维数组 Mary John Peter Rose Kate F M F M F 01 02 03 04 05 89 78.5 67 97.5 64 C 语言不允许一个数组包含多种数据类型 III. 使用结构 num name sex score C 语言引入了称为结构的数据存储方式 “结构” 是一种构造数据类型,它是由若干数据项组合而成的复杂数据对象,这些数据项称为结构的成员。 * 定义结构2-1 .P184-P189 struct structurename { datatype variable1; datatype variable2; ... };
您可能关注的文档
- 第7章氧化还原及电极电势.pptx
- 第7章并行IO口应用与扩展.ppt
- 第7章包装设施及设备.ppt
- 第7章水和水蒸气性质.ppt
- 第7章缺口试样断裂及其抗力.ppt
- 第7节 元素符号表示量.ppt
- 第7章_影响旅游者旅游行为社会心理因素.ppt
- 第7章能源管理体系及特点.pptx
- 第7章_建筑电气平面图绘制.doc
- 第7讲 服务人、过程与有形展示.ppt
- 北京科技大学《交流调速系统与变频器应用》2023-2024学年第二学期期末试卷.doc
- 难点解析京改版数学9年级上册期末试题含答案详解(实用).docx
- 难点解析京改版数学9年级上册期末试题附参考答案详解【能力提升】.docx
- 苯佐卡因的合成实验.pdf
- 难点解析京改版数学9年级上册期末试题及参考答案详解(A卷).docx
- 难点解析京改版数学9年级上册期末试题含完整答案详解【必刷】.docx
- 爬山活动策划书.pptx
- 难点解析京改版数学9年级上册期末试题及参考答案详解(能力提升).docx
- 难点解析京改版数学9年级上册期末试题含答案详解【实用】.docx
- 难点解析京改版数学9年级上册期末试题及完整答案详解【历年真题】.docx
文档评论(0)