二维数组与数组指针
来源:互联网 发布:it编程 编辑:程序博客网 时间:2024/06/05 08:33
C语言中只有一维数组,数组的元素可以是数组,即构成二维数组,以此类推,即多维数组。考虑下面的例子:
int calendar[12][31];
该语句声明了一个数组,该数组具有12个数组类型的元素,其中每个元素都是一个具有31个整型元素的数组。calendar是数组名字,sizeof(calendar)表示的是整个数组的内存大小,即12*31*4,calendar也表示数组的首地址,calendar的值与calendar[0]和&calendar[0]和&calendar[0][0]的值一样。calendar[0]表示12个元素的第一个,也是一个具有31个整型元素的数组,calendar[0]就是数组名,也是该数组的首地址,&calendar[0]即该数组的地址,数组的指针,与calendar意义相同,&calendar[0]+1和calendar+1表示的含义相同,即12个数组元素的地址;calendar[0]与&calendar[0][0]含义相同,表示整型元素的数组的首地址,calendar[0]+1和&calendar[0][0]+1表示的含义相同,即31个整数元素的下一个元素。下面用一个具体的例子来说明:
int (*monthp)[31];
int *dayp;
int calendar[12][31];
for (monthp = &calendar[0]; monthp < &calendar[12]; monthp++)
{
for (dayp = *monthp; dayp < *monthp + 31; dayp++)
{
*dayp = 0;
printf("%d ", *dayp);
}
putchar('\n');
}
上述代码将该二维的数组的所有元素都赋为0,并且打印出来。
int (*monthp)[31]表示指向数组的指针,即对数组名取地址,可以如下赋值:
monthp=calendar;
monthp=&calendar[0];
- 二维数组&&指针数组与数组指针
- 二维数组与指针数组
- 数组指针与二维数组
- 数组、二维数组与指针
- 二维数组与数组指针
- 二维数组与指针
- 二维数组与指针
- 二维数组与指针
- 指针与二维数组
- 指针与二维数组
- 二维数组与指针
- 二维数组与指针
- 指针与二维数组
- 二维数组与指针
- 二维数组与指针
- 指针与二维数组
- 二维数组与指针
- 二维数组与指针
- 浅谈面向对象--《Thinking in Java》读书笔记(一)
- 多线程间通信的方法
- HDU 4035 Maze(概率DP)
- JAVA设计模式之单例模式
- LeetCode.477 Total Hamming Distance
- 二维数组与数组指针
- Redis系列-1.介绍
- url 在chrome可以 firefox可以 IE报错?
- [安全漏洞公告专区]【漏洞公告】WordPress的Display Widgets插件存在后门
- 删除git本地分支遇到的一个小问题
- Robot Framework+Appium案例分享一: 验证版本信息
- 关于MYSQL 的 AUTO-INC Locks
- vcpu和cpu的关系
- 虚拟机下Linux Ubuntu装jdk过程