从零开始学C语言系列之第八章《指针和多维数组原理》

往期回顾

1.【第一章】《认识C语言》
2.【第二章】C语言概述及基本知识1
3.【第二章】C语言概述及基本知识2
4.【第三章】字符串和格式化输入/ 输出
5.【第三章】 printf
6.【第三章】 scanf
7.【第三章】 putchar
8.【第三章】 getchar
9.【第三章】 sizeof
10.【第三章】 strlen
11.【第三章】 define
12.【第四章】运算符第一节
13.【第四章】运算符第二节
14.【第四章】运算符第三节
15.【第四章】运算符第四节
16.【第四章】类型转换
17.【第四章】函数与转化
18.【第五章】while
19.【第五章】for开篇
20.【第五章】for的灵活性
21.【第五章】逗号运算符
22.【第五章】do while
23.【第五章】循环选择
24.【第六章】if
25.【第六章】else if
26.【第六章】break
27.【第六章】continue
28.【第六章】break和continue的区别与作用
28.【第六章】switch
29.【第七章】函数复习
30.【第七章】函数参数
31.【第七章】函数中返回值
32.【第七章】递归
33.【第七章】指针引入
34.【第七章】指针简介
35.【第七章】指针简介2
36.【第八章】数组
37.【第八章】数组2
38.【第八章】多维数组
39.【第八章】指针与数组
40.【第八章】函数 数组 与指针
41.【第八章】使用指针形参
42.【第八章】指针操作
43.【第八章】const入门
44.【第八章】const 与指针



指针和多维数组原理

int zippo[4][2];/*内含int数组的数组 */

​    然后数组名 zippo是该数组首元素的地址。 在本例中,zippo的首元素是一个内含两个 int值的数组,所以 zippo 是这个内含两个 int 值的数组的地址。下面,我们从指针的属性进一步分析。
在这里插入图片描述
例子

#include <stdio.h>
int main(void)
{
    int zippo[4][2] = { {2,4}, {6,8}, {1,3}, {5, 7} };
    
    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 + 1 = %p\n",
           *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", *(*(zippo+2) + 1));
    
    return 0;
}

在这里插入图片描述
在这里插入图片描述
图形化:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值