C8 数组

8.1 一维数组(P141)

8.1.1 数组名
数组名是一个指针常量,数组第一个元素的地址。

  • 在两种情况下,数组名不用指针常量表示:

    作为SIZEOF (返回整个数组长度)以及&操作数(一个指向数组的指针)时。(P142)

8.1.2 下标引用

  • 下标引用和间接访问完全相同
array[]= *(array+[])

(P143) ap[] ap是一个指针

8.1.3 指针与下标(P144)
对下标表达式求值,需要取得括号值再与整型长度相乘。
指针可能运行时更有效率。

8.1.4 指针的效率
8.1.5 数组和指针(P150)
8.1.6 作为函数参数的数组名(P151)
8.1.7 声明数组参数

int strlen(char *string) = int strlen(char string[]);

函数原型中数组形参无需写明元素数目。

8.1.8 初始化(P152)

  • 静态和自动初始化
    静态数组是在程序执行之前链接器初始化。
    自动变量在缺省下未初始化。

当数组初始化在一个函数(代码块)中,程序执行流都要重新初始化是不是值得。 static数组。

8.1.9 不完整的初始化
只可省略最后几个初始值。

8.1.10 自动计算数组长度

8.1.11 字母数组的初始化(P153)

8.2 多维数组(P154)
8.2.1 存储顺序
多维数组的元素存储顺序按照最右下标变化的顺序,即行主序。
8.2.2 数组名
一维数组名指向元素类型的指针。

int matrix[3][10]

matrix 是指向第一个包含10个整型元素的数组的指针。

8.2.3 下标(P156)
别忘了*(matrix+[])=matrix[]

8.2.4 指向数组的指针(P158)

int (*p)[10];

p指向整数数组

8.2.5 作为函数参数的多维数组(P159)

8.2.6 初始化
8.2.7 数组长度自动计算
只有第一维才可缺省提供。

8.3 指针数组(P163)

int *api[10];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值