c语言构造类型之数组_01

构造类型--constructed type。至于定义,笔者就省略了,有兴趣的同学可以百度搜索https://www.baidu.com/。今天我们要说的是c语言中最简单的构造类型--数组(array)。

数组用于保存和处理一组具有相同类型的数据,形成一个逻辑组合并通过统一的名字进行访问,你会发现寻找或引用数组中的元素只是方括号中的数值,也称为索引(index)不同

数组里的每项数据称为数组的元素,每一个元素在内存中是相邻依序存储,也就是数据存放一个紧接着一个,没有断开。每一个元素的访问通过相同的数组名称并使用一个位置序号来定位,表示这是数组里的第几个元素。

注意啦!在c语言里,数组元素的表示形式是数组名加一个方括号(中括号),括号里面的是元素的位置。除此,数组括号中的下标是从0开始的。其目的是想提高访问单独元素的速度,如果开始的下标为0,编译器就不需要做更多的计算就能直接确定访问后续元素所使用的内部偏移量,这个了解下便可。下面,让我们来进一步了解数组。

1、一维数组(one dimensional array)

声明格式: 类型名  数组名[数组元素个数] 

其中,类型名表示数组所存储元素的数据类型,比如说整型int,浮点型float等。数组名可以自己取,但是要注意的是:起数组名的时候最好还是根据你所做的工程起一些有含义的名称,如此一来不会容易搞混,程序也会更加规范。还有一个值得注意的点是,数组中若指定元素数目,那么在[]中的只能是整型数据或者是整数表达式,比如说[10]、[5+5]或者其他形式.

示例: int names[10];         解析:int表示数组中的元素都是整型数据,名称为names,数组当中总共有10个元素,这就意味着索引从0-9共10个元素,结尾记得加分号;,这是一个句子结束的标志,不可粗心将之忘却。至于这个数组占用的存储空间大小,得看你的计算机分配给每一种数据类型多少存储空间,这里的话,假如你的计算机分配给int型数据的空间是4个字节(bytes),那么这个数组所占用的存储空间大小就是4*10(bytes),也就是40个字节(一个字节为8位(bit))。

数组元素的初始化:

(1)数字的初始化

int number[3] = {1, 2, 3};  #注意,用于初始化的值用花括号包起来

这里,也可以省略声明部分中数组元素的个数,即: int number[] = {1, 2, 3};

此时,编译器会根据初始化的元素个数自动确定数组的大小

我们也可以先进行定义,然后在函数中再进行初始化,例如你想通过用户输入数据,然后存储到数组当中,就可以采取这种方法。

(2)字符(character)及字符串(character string)的初始化

char code[]  = {'a', 'b', 'c'};   #字符的数据类型为char,所以此处类型名就为char,当然,写int也是可以的,因为int数据类型所占用的存储空间要比char大,分配给int类型数据的空间大小自然够装得下char类型数据,元素个数同上所述,可写可不写,写的话得同初始化元素个数相同,否则编译会报错,字符的话需要用’ ‘包起来,像这些字母,和一些符号都是需要这样处理的

除此,还可以使用字符串直接进行初始化,例如:

char code[] = "abc";  #但是要注意的是,用双引号括起来的字符串常量,在字符串末尾还隐含了作为字符串结束的标志--'\0',在内存中,这个符号也是一个char数据类型,需要一个字符的存储空间

其实等价于char code[] = {'a', 'b', 'c', '\0'};

另外,还有一种初始化方法,那就是先定义,然后在函数当中进行初始化赋值,这点上文也有略微提及。

这次的笔记我们就做到这里吧,鉴于笔者的水平有限,也正在学习当中,文中有什么遗漏或者错误的地方敬请提示,笔者会进行改进,由衷感谢!

转载于:https://www.cnblogs.com/CodingFarm/p/7680100.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值