C语言之一维数组1.0

这篇博客介绍了C语言中一维数组的基本概念,强调数组是一个数据类型相同元素的有序集合。文中通过鞋架的例子解释了数组的结构,并详细讨论了数组的类型、初始化和访问方法。此外,还提到了数组下标从0开始,数组访问的边界问题以及避免超出数组边界的注意事项。
摘要由CSDN通过智能技术生成

数组的概念

由一系列数据类型相同的元素组成的有序集合。如何去理解呢?
以一个鞋架为例,这个鞋架一共五层,每层最多放三双鞋。类比为数组则是,数组“鞋架”一共有五个元素(每一层视为一个元素),每个元素的值为“最多三双鞋”(每一层可以放0-3双鞋子)。

数组的类型

//基本类型
/*整型数组*/
int array[5] = {0, 1, 2, 3, 4};
/*浮点型数组*/
float array[5] = {0.5f, 0.6f, 0.7f, 0.8f, 0.9f};//单精度
double array[5] = {0.5, 0.6, 0.7, 0.8, 0.9};//双精度
/*字符型数组*/
char str[5] = {'a', 'b', 'c', 'd', 'e'};

数组的初始化

以整型数组为例

#include <stdio.h>

int main()
{
	int array[3] = {1, 2, 3};//列表初始化
	/******************************/
	int array2[3] = {0};//全部元素初始化为0
	/******************************/
	int array3[3];
	array3[0] = 0;
	array3[1] = 1;
	array3[2] = 2;
	/******************************/
	int array4[3] = {1};//列表初始化一个元素,其余元素被置0
	return 0}

数组的访问

在这里插入图片描述
结合上图与例子,数组array的元素个数一共有五个,首个元素为array[0],这里面’0’叫做数组下标,其计数从0开始,访问方式为’[]’。


补充1
C 不允许把数组作为一个单元赋给另一个数组,除初始化以外也不允许使用花括号列表的形式赋值。

/* 一些无效的数组赋值 */
#include <stdio.h>
#define SIZE 5

int main(void)
{
	int arr[SIZE] = {5,3,2,8};     /* 初始化没问题 */
	int arr2[SIZE];
	arr2 = arr;          /* 不允许 */
	arr2[SIZE] = arr[SIZE];    /* 数组下标越界 */
	arr2[SIZE] = {5,3,2,8};    /* 不起作用 */
	/*arr数组的最后一个元素是arr[SIZE-1],所以arr[SIZE]和arr2[SIZE]都超出了两个数组的末尾。*/
	return 0;
}

补充1中涉及到一个数组边界的问题。一个数组arr[5],其大小为5,但是在进行访问过程中,元素arr[5]则已经不属于arr这个数组了,因为下标5已经超过arr的有效范围了。其值是一个随机值(也叫垃圾值)。
在声明一个数组的过程中,int array[5]; 这个数组大小确定为5,数组访问下标是从0开始,那么最后一个数组元素对应的下标应该是4,即数组下标最大值应该是数组大小减去1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值