- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 指针 本章主要内容 地址与指针的概念 指针变量的定义与使用 一维数组与指针的关系 指针的应用 问题的提出 变量的三个要素: 地址与指针的概念 在计算机中,把内存区划分为一个一个的存储单元,每个单元为一个字节(8位),它们都有一个编号,这个编号就是内存地址。如下图所示: 地址与指针的概念 地址与指针的概念 指针:在C语言中,将变量的地址形象化地称为指针。 指针变量:专门存放指针(变量地址)的变量 地址与指针的概念 变量与指针 变量与指针 变量与指针 变量与指针 变量与指针 变量与指针 变量与指针 变量与指针 变量与指针 直接访问:通过变量本身对变量进行存取的方式。 间接访问:通过指针变量实现对变量的访问方式。 间接访问的过程是:由指针变量得到变量的地址,根据该地址找到变量的存储区,再对该存储区的内容进行存取,从而实现了对变量的间接访问 变量与指针 变量与指针 变量与指针 变量与指针 变量与指针 变量与指针 指针作函数参数 指针作函数参数 一维数组与指针 一维数组与指针 一维数组与指针 一维数组与指针 一维数组与指针 一维数组与指针 一维数组与指针 一维数组与指针 一维数组与指针 一维数组与指针 指向数组的指针作函数参数 指针作函数参数 指针作函数参数 指针作函数参数 二维数组与指针 二维数组与指针 二维数组与指针 二维数组与指针 二维数组与指针 【例2】有一整形数组a[3][4],利用指针输出各元素的值。 #include stdio.h #define M 3 #define N 4 int main() { int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12}; int i,j,*q=a[0][0]; for(i=0;iM;i++) { for(j=0;jN;j++) printf(%-5d,*(q+i*N+j)); printf(\n); } return 0; } 二维数组与指针 二维数组与指针 //chap7ex2.c #include stdio.h #define M 3 #define N 4 int main() { int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12},(*q)[N]; int i,j; q=a; for(i=0;iM;i++) { for(j=0;jN;j++) printf(%-5d,*(*(q+i)+j)); printf(\n); } return 0; } 二维数组与指针 六、指向指针的指针变量 如果指针的值是另一指针的地址,则该指针是指针的指针。定义为: 类型说明 **指针变量名; #include stdio.h int main() { int x = 3, *p1=x; /* p1指向x */ int **p2; /* 定义指针的指针 */ p2 = p1; /* p2指向变量p1 */ printf(%d, **p2); /* 输出x的值 */ } 二维数组与指针 七、指针数组 如果数组的每个元素都是指针,则该数组为指针数组。 定义为: 类型说明 *数组名[数组长度] #include stdio.h int main() { int i, x[5] = {1, 2, 3, 4, 5}; int *p[5]; /* p为指针数组*/ for(i=0; i5; i++) p[i] = x[i]; /* 为数组p的各元素赋值 */ for(i=0; i5; i++) printf(%5d, *p[i]); /* 输出数组p的每个元素所指向的数值 */ printf(\n); } 字符指针 字符指针是指向字符串的指针,定义为: char *指针; 可以用字符数组为指针赋初值 char a[ ]=Welcome to UPC.; char *p=a; 也可以用字符串常量的地址为指针赋初值 char *p=Hello; 由于p为指针变量,指针指向是可以改变的 char *p=Hello, *q=p; p=world; 如果x为字符数组,则令x=abc是错误的 字符指针 字符数组与字符指针变量比较 : 1、char str[20]=“china”; 与char *p=“china”; 2、str由若干元素组成,每个元素放一个字符;而p中存放字符串首地址 3、char str[
您可能关注的文档
- 《AutoCAD教学课件》附录.doc
- 《C语言课件二级》chapter1&2.ppt
- 《C语言课件二级》chapter3.ppt
- 《C语言课件二级》chapter5.ppt
- 《C语言课件二级》chapter6_part1.ppt
- 《C语言课件二级》第1-3章 算法与程序设计基础wxl.ppt
- 《C语言课件二级》第4章_选择程序设计.ppt
- 《C语言课件二级》第5章循环程序设计.ppt
- 《C语言课件二级》第6章数组.ppt
- 《C语言课件二级》第7章_函数.ppt
- 《GB/T 12668.7202-2024调速电气传动系统 第7-202部分:电气传动系统的通用接口和使用规范 2型规范说明》.pdf
- 《GB/T 15692-2024制药机械 术语》.pdf
- GB/T 15692-2024制药机械 术语.pdf
- 中国国家标准 GB/T 15692-2024制药机械 术语.pdf
- GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求.pdf
- 中国国家标准 GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求.pdf
- 《GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求》.pdf
- 《GB/T 30117.1-2024非相干光产品的光生物安全 第1部分:通用要求》.pdf
- 《GB/T 33348-2024高压直流输电用电压源换流器阀 电气试验》.pdf
- GB/T 33348-2024高压直流输电用电压源换流器阀 电气试验.pdf
文档评论(0)