- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构第0章简介讲解
void Print_Stu_Doc(struct node *head); /* 遍历 */ { struct node *p=head; while( (p != NULL) { printf (%d%s%d\n, p-num, p-name, p-score); p=p-next; } } * * * * * 2. 参数引用 形式参数:值参数、引用参数() 值参:从实参得到相应的值,有独立的存储空间 (实参的数据 ? 形参) 引用参数:从实参得到相应的地址,与实参共用相同的存储空间 (实参的数据 ?? 形参的数据) 例:试编写函数计算a中大于0的个数和小于0的个数。 void f(int a[ ], int n, int m1, int m2) { m1 = m2 = 0; for (int i = 0; i n; i++) { if (a[i] 0) m1++; if (a[i] 0) m2++; } n=0; } void main() { int x[ ] = {-2,1,4,6,9,-7,-1,8,-5,3}, num=10, n1, n2; …… f(x, num, n1, n2); printf( “%d, %d, %d”, num, n1, n2); } 3. 布尔类型 bool 只有两个值0和1,可用符号常量false和true表示。 bool flag; ……… if (xy) flag=true; else flag=false; 例:用两种方法编写求数组a中的最大值与最小值的函数 void MAX_MIN(int *a, int n, int *max, int *min);与 void MAX_MIN(int *a, int n, int max, int min); 并分别编写主函数调用它们。 1. 指针与动态存储分配 例: int *a, *b, c=10, d=15; a=c; b=d; *a=5; printf(“%d, %d”, *a, *b); 指针变量一般应指示已定义的数据变量的存储单元的地址或动态分配的存储单元的地址。 指针进阶 动态存储分配 概念:存储空间不是由编译系统预先分配,而是由用户在程序运行过程中通过动态分配获取。使用动态内存分配能有效地使用内存 使用时申请 用完就释放 动态存储分配的步骤 (1)了解需要多少内存空间 (2)利用动态分配函数来分配所需要的存储空间。 (3)使指针指向获得的内存空间,以便用指针在该空间内实施运算或操作。 (4)使用完毕后,利用动态分配函数释放该空间。 int *p; …… p = (int *)malloc(sizeof(int)); *p=10; …… free(p); 动态存储分配函数malloc() void *malloc(unsigned size) 在内存的动态存储区中分配一连续空间,其长度为size 若申请成功,则返回一个指向所分配内存空间的起始地址的指针 若申请内存空间不成功,则返回NULL(值为0) if ((p = (int *)malloc(sizeof(int))) == NULL) { printf(“Not able to allocate memory. \n”); exit(1); } //动态分配一个整数类型大小的空间 调用malloc时,用 sizeof 计算存储块大小 动态存储释放函数free void free(void *ptr) 释放由动态存储分配函数申请到的整块内存空,ptr为指向要释放空间的首地址。 当某个动态分配的存储块不再用时,要及时将它释放 例如: free(p); 分配调整函数realloc void *realloc(void *ptr, unsigned size) 更改以前的存储分配 ptr必须是以前通过动态存储分配得到的指针 参数size为现在需要的空间大小 如果调整失败,返回NULL。 如果调整成功,返回一片能存放大小为size的区块,并复制原块内容到新块。且原存储块的内容不允许再通过ptr去使用它。 int *p, *q; p = (int *
您可能关注的文档
- 数据与运算讲解.ppt
- 数学解析会讲解.ppt
- 数学统计关于北京雾霾的统计讲解.ppt
- 数据中心标准讲解.ppt
- 数据仓库--课件讲解.ppt
- 数据分析在工业4讲解.doc
- 数据备份概述讲解.ppt
- 数据库-实验1-实验报告讲解.doc
- 数据备份与恢复1讲解.ppt
- 数据库vvfp期末总复习(四)讲解.ppt
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
最近下载
- 2025-2026学年七年级地理期末模拟卷·达标卷(解析版)(人教版).docx VIP
- SL_T 813-2021 规划水资源论证技术导则.docx
- 拆除工程施工组织设计方案(完整版).doc VIP
- 行深智能校园无人车配送解决方案.pptx
- JCT2428-2017 非固化橡胶沥青防水涂料.pdf VIP
- 钢结构工程施工方案(29页).doc
- qc年终总结报告PPT.pptx
- (优质!)GB∕T 43500-2023《安全管理体系要求》安全管理过程之间相互作用的关联关系说明表(编制-2024A0).pdf VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 2023年海南医学院预防医学专业《病理学》科目期末考试卷B.docx VIP
原创力文档


文档评论(0)