意大利著名城市剪影:(C语言)数组名有多少种含义

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 20:59:39
我只知道:
1、数组名表示数组首元素的地址
2、数组名是常量,不能当作左值

但有时看到这样的:
typedef ElemType Array1[n]
typedef Array1 Array2[m]
书上说这个等价与
typedef ElemType Array2[m][n]

我想问问,这里数组名(如Array1)代表的是什么??
数组名有多少种含义???

typedef是这个的缘故..
typedef ElemType Array1[n]
这句的含义是ElemType和Array1[n]是一样的了,也就是说它两是同一样的东西,只是名字不一样了.
但是这里又有这样一个知识:Array1是数组Array1[n]的首指针,是常量.比如说Array1++等这样的操作是错的.可是可以这样操作:把p=Array1(这里假定p和Array1是同一类型)p++等这样的操作就可以..
typedef Array1 Array2[m]
这个第二句相当于Array1和Array2[m] 又是一样的了.Array1是指向Array1[n]这个数组的指针,那Array2[m] 也就是指向Array1[n]这个数组的指针.而Array2是指向Array1[n]这个数组指针的指针.

Array1代表的是数据类型
含义基本就这点了