- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指针与地址 变量与地址 指针变量的定义和引用 指针变量的定义和引用 指针变量的初始化 一般形式:[存储类型] 数据类型 *指针名=初始地址值; 空指针到底是什么? 空指针不同于未初始化的指针。 空指针可以确保不指向任何对象或函数; 未初始化指针则可能指向任何地方。 每种指针类型都有一个空指针, 而不同类型的空指针的内部表示可能不尽相同。尽管程序员不必知道内部值, 但编译器必须时刻明确需要那种空指针, 以便在需要的时候加以区分。 指针变量的引用:与*运算符 含义 free() 怎么知道有多少字节需要释放? malloc/free 的实现会在分配的时候记下每一块的 大小, 所以在释放的时候就不必再考虑了。 例 7.5 堆栈(stack)是一种先进后出(first-in last-out)的表,好比将若干个盘子堆放起来,每次放或者取一个盘子,最先堆放的盘子最后被取走,将一个数据压入堆栈称为入栈,从堆栈中取走一个数据称为出栈操作。现在编程实现该算法。 #include stdio.h #include stdlib.h #define SIZE 50 void push(int i); /*入栈函数使用说明*/ int pop(void); /*出栈函数使用说明*/ int *tos,*p1,stack[SIZE]; /*堆栈、栈顶及栈底指针定义*/ int main(void) { int value; tos=stack; p1=stack; do{ printf(“输入一个整数:“); scanf(“%d”,value); if (value!=0) push(value); else printf(“出栈数据是%d\n”,pop()); }while(value!=-1); return 0; } /*将入栈操作定义成用户自定义函数*/ void push(int i) { p1++; if(p1==(tos+SIZE)) /*判断堆栈是否已满*/ { printf(“堆栈已满\n”); exit(1); } *p1=i; } /*将出栈操作定义成自定义函数*/ int pop(void) { if(p1==tos) /*判断堆栈是否空*/ { printf(“堆栈空\n”); exit(1); } p1--; return *(p1+1); } 在C语言中“指针和数组等价”到底是什么意思? 指针与字符串 字符串 字符数组 字符指针变量与字符数组的区别 char *cp; 与 char str[20]; str由若干元素组成,每个元素放一个字符;而cp中存放字符串首地址 char str[20]; str=“I love China!”; (?) char *cp; cp=“I love China!”; (?) str是地址常量;cp是地址变量 cp接受键入字符串时,必须先开辟存储空间 字符指针变量与字符数组的区别 分析: 程序中定义两个字符数组s和t存放输入的两个字符串 定义两个字符指针ps和pt,它们的初值为分别指向s和t两个字符串首字符。 逐个判断s和t的每一对字符是否相等,从左到右直到找到第一对不相等的字符或者所有字符判断完成为止。 例 7.10 编程从键盘输入一个字符串,然后按照字符顺序从小到大进行排列,并删除重复的字符。 分析:定义字符数组str表示输入的字符串,程序中采用冒泡排序法进行排序。 对二维数组 int a[3][4],有 a-----二维数组的首地址,即第0行的首地址 a+i-----第i行的首地址 a[i] ? *(a+i)------第i行第0列的元素地址 a[i]+j ? *(a+i)+j -----第i行第j列的元素地址 *(a[i]+j) ? *(*(a+i)+j) ? a[i][j] 二维数组的指针变量 指向一维数组的指针变量 定义形式: 数据类型 (*指针名)[一维数组维数]; 例 int (*p)[4]; 字符串与数组关系 字符串用一维字符数组存放; 字符数组具有一维数组的所有特点: 数组名是指向数组首地址的地址常量; 数组元素的引用方法可用指针法和下标法; 区别 存储格式:字符串结束标志; 赋值方式与初始化; 输入输出方式:%s %c 二维数组的指针作函数参数 用指向变量的指针变量; 用指向一维数组的指针变量; 用二维数组名。 指针数组 指针数组:用于处理二维数组或多个字符串 定义:数组中的元素为指针变量 定义形式:[存储类型] 数据类型 *数组名[数组长度
您可能关注的文档
- 温州医学院药学院生物技术制药课件第二章 发酵工程制药.ppt
- 温州医学院药学院生物技术制药课件第九章 新型生物制药技术.ppt
- 温州医学院药学院生物技术制药课件第六章 抗体工程制药.ppt
- 温州医学院药学院生物技术制药课件第七章 酶工程制药.ppt
- 温州医学院药学院生物技术制药课件第三章 基因工程制药(1).ppt
- 温州医学院药学院生物技术制药课件第三章 基因工程制药(2).ppt
- 温州医学院药学院生物技术制药课件第四章 动物细胞工程制药(1).ppt
- 温州医学院药学院生物技术制药课件第四章 动物细胞工程制药(2).ppt
- 温州医学院药学院生物技术制药课件第四章 动物细胞工程制药(3).ppt
- 温州医学院药学院生物技术制药课件第五章 植物细胞工程制药.ppt
- 武汉大学高级语言程序设计课件第8章 结构和联合类型.ppt
- 武汉大学高级语言程序设计课件第9章 其他数据类型.ppt
- 武汉大学高级语言程序设计课件第10章 文件.ppt
- 武汉大学高级语言程序设计课件第11章 问题求解策略及综合程序设计.ppt
- 武汉大学计算机学院信息系统安全课件第二讲 传统密码.ppt
- 武汉大学计算机学院信息系统安全课件第六讲 数据库安全.ppt
- 武汉大学计算机学院信息系统安全课件第三讲 公钥密码.ppt
- 武汉大学计算机学院信息系统安全课件第四讲 操作系统安全(二).ppt
- 武汉大学计算机学院信息系统安全课件第四讲 操作系统安全(一).ppt
- 武汉大学文学概论课件 第八章.ppt
最近下载
- 智能制造精益生产与智能制造的融合.pptx VIP
- 汽车热管理管路深度报告:新能源管路空间大幅提升,塑料应用高速增长.docx VIP
- 01.2021U9Cloud多组织入门培训-基础设置.pptx VIP
- 学校校长公开选拔笔试试题及参考答案校长招聘考试笔试真题及答案.docx VIP
- 2025年央国企AI+数智化转型研究报告.pdf VIP
- 2025年疾控中心招聘试题及答案.docx VIP
- 道家打坐的正确方法.doc VIP
- 2024-2025学年初中音乐七年级上册(2024)人音版(2024)教学设计合集.docx
- 智能毕业设计:基于单片机的电子时钟设计.docx VIP
- 2024年贵州社区工作者招聘真题 .pdf VIP
文档评论(0)