指针和多维数组
来源:互联网 发布:淘宝哪里申请商标认证 编辑:程序博客网 时间:2024/05/17 22:26
受害于之前看书不认真,而且懒于动手,今天遇到指针和多维数组的问题时又再次翻书查找相关的知识,这次记下一些以前没有记得的内容。
参考:C Primer Plus 267页 10.7指针和多维数组。其中,程序zippo1.c略微改动。
int zippo [4][2]; //声明一个二维数组
多维数组数组名和地址的关系:
1, 一维数组中这个关系可以简单的描述为 数组名就是数组首元素的地址。但是多维数组相对一维数组有更加深刻的含义,例如,zippo是这个数组的数组名,zippo就是数组首元素的地址,这时的数组,包含4个元素,每个元素都是包含两个int 类型的数组,所以首元素地址为&zippo[0],则zippo=&zippo[0].
2, 对于数组中的每一个元素(例如zippo[0]),又是一个包含两个int 类型元素的数组,则同理得到zippo[0]=&zippo[0][0].简单的说来,zippo[0]是一个整数大小对象的地址,而zippo是两个整数大小对象的地址。因为整数和两个整数组成的数组开始于同一个地址,所以就有了zippo和zippo[0]具有相同的数值。
3, 对指针+1,加上的是一个类型大小的数值,zippo[0]是一个整数大小对象的地址,而zippo是两个整数大小对象的地址。则zippo[0]+1和zippo+1的结果不同,zippo[0]+1等于加上一个int 类型大小的值,zippo+1等于加上两个int 类型大小的值。
4, *zippo[0]指的是元素zippo[0]中的第一个元素的值,就是zippo[0][0]中的值,是一个int 类型的值,但是*zippo 代表首元素zippo[0]的值,但zippo[0]是一个int数的地址,zippo[0]=&zippo[0][0],所以,*zippo=&zippo[0][0],则可以进一步得到**zippo=*&zippo[0][0],所以,zippo是地址的地址,它的值,是一个地址。
程序代码及结果事例:
#include<stdio.h>int main(void){ int i,j; int zippo[4][2]={{1,2},{3,4},{5,6},{7,8}}; printf("sizeof(int)=%d\n",sizeof(int)); printf("zippo=%p,zippo+1=%p\n",zippo,zippo+1); printf("zippo[0]=%p,zippo[0]+1=%p\n",zippo[0],zippo[0]+1); printf("*zippo=%p,**zippo=%d,*zippo+1=%p\n\n",*zippo,**zippo,*zippo+1); printf("zippo[0][0]=%d\n",zippo[0][0]); printf(" *zippo[0]=%d\n",*zippo[0]); printf(" **zippo=%d\n",**zippo); printf("zippo[2][1]=%d\n",zippo[2][1]); printf("*(*(zippo+2)+1)=%d\n\n",*(*(zippo+2)+1)); for(i=0;i<4;i++) for(j=0;j<2;j++) printf("zippo[%d][%d]=%d,&zippo[%d][%d]=%p\n",i,j,zippo[i][j],i,j,&zippo[i][j]); getchar(); return 0;}
结果截图:
- 多维数组和多维指针
- 多维数组 和 多维指针
- 多维数组和多维指针
- 多维数组和多维指针
- 多维数组和多维指针
- 多维数组和多维指针
- 多维数组和指针
- 指针和多维数组
- 多维数组和指针
- 指针和多维数组
- 多维数组和指针
- 指针和多维数组
- 指针和多维数组
- 指针和多维数组
- 多维数组和指针
- 多维数组和指针
- 多维数组和指针
- 多维数组和指针
- 解决ubuntu下 error occurred during the signature verification
- Opencv Python版学习笔记(二)漫水填充
- GDB同步显示源代码——layout
- Fiddler (三) Composer创建和发送HTTP Request
- 分布式数据库系统---商旅预定系统的实现(7)
- 指针和多维数组
- linux下搭建svn本地服务器
- Restify实践
- dede搜索引擎
- index_join
- 给oracle数据库用户加锁和解锁
- jquery.qqFace.js 页面标签/jquery
- java----IO流
- js控制select大全