我们般都认为是维数据存储结构 2位或者说矩阵都可以看作是多个维组合结构定义在其上数据存储访问方式是样所以维是其中最基础最重要部分只有理解了此类数据结构本质才能触类旁通了
(.gif' />)是若干同类变量聚合允许通过统名字饮用其中变量所以也就是个同类型数据有限集合可以通过下表来访问中某/些元素
在C语言中都由连续内存区域构成(有时候不定是这样)最低地址对应首元素下标是从0开始所以首元素也就是下标为0元素最高地址对应最末元素即第N-1个元素(如果我们定义为N元)
定义方式:
在C语言中允许在声明时候同时对其进行化也可以把声明和定义放在区别位置化般类似于如下表达式:
type_specier .gif' />_name[size1]...[sizeN] = {value_list};
其中vlaue_list是由逗号()分隔常量表常量表必须和type_specier兼容最后由分号和下个语句分隔由此可见维定义方式为:
type_specier
.gif' />_name[size] = {value_list};
如下:
char hello[12] = {’H’,’e’,’l’,’l’,’o’,’,’
,’ ’,’w’,’o’,’r’,’l’,’d’,’\\0’};
注意:是\"’\\0’\"收尾这是C标准部分在操作时候是以’\\0’作为结束判断标志当然了如果你定义是个串那就不用加这个’\\0’了有机制帮助你自动添加
上面例子串生命方式为: hello = \"Hello, world\";(当然了具体实现中你必须把\".h\"头文件加入到你文件中)或者你也可以这样来声明:
char *hello = \"Hello, world\";或者char hello = \"Hello, world\";
切换为指针其效果是样);化时候还可 以不标明最大小即
char hello = {’H’,’e’,’l’,’l’,’o’
,’,’,’ ’,’w’,’o’,’r’,’l’,’d’,’
\\0’};
这时候编译器会根据后边赋值情况为分配合适内存空间这个你不用担忧除非机器正处于内存缺状态
元素访问:
可以利用循环结构来挨个访问元素比如:
[...]
i;
char hello[12] = {’H’,’e’,’l’,’l’,’o’,’
,’,’ ’,’w’,’o’,’r’,’l’,’d’,’\\0’};
[...]
for(i = 0; i < 12; i){
prf(\"%c\",hello[i]);
}
prf(\"\\n\");
[...]
其中有点必须注意了那就是i值不能取到12我们下标识从0开始即hello[0]是第个元素下界而hello[12]是第个空元素上界
其实元素个数等于定义时下标也等于上界(12)减去下界(0)得到数值还等于上界地址减去下界地址模(tyep_specier)值(假设空间是连续分布如果不是这样那么这种思路方法也就不成立了)
最新评论