初识数组(一维数组)

数组

数组是一组相同类型元素的集合
数组中存放的是一个或者多个数据,数组元素个数不能为零
数组中存放的多个数据类型是相同的

数组分为一维数组和二维数组
我们先来认识一下一维数组

一维数组

一维数组的创建和初始化

先来了解一下数组创建(❁´◡`❁)

type arr_name[常量]={这里是初始化}

type就是数组的类型,可以是int、char、double……
arr_name是这个数组的名字
[]中的常量数字就是数组的大小

我们来创建一个整型类型大小为10名字为zxsz的数组

int main()
{
	int zxsz[10] = { 1,2,3,4,5,6,7,8,9,10 };
	return 0;
}

这就是一个数组的创建

再看一下初始化
初始化有完全初始化和不完全初始化
上面数组创建的例子就是一个完全初始化,就是把数组的每一个元素都初始化,方法就是那样

不完全初始化

int main()
{
	int zxsz[10] = { 1,2,3,4,5 };
	return 0;
}

也可以只初始几个元素,这就是不完全初始。

如果没有想要初始化的可以这样做

	int zxsz[10] = { 0 };

这样数组中所有的元素都被初始化为0了

数组的访问

访问数组,那就先来了解一下数组的下标
在这里插入图片描述
如上图是一个大小为10的整型数组,存放1到10的数字,第一个元素1对应的数组下标为0,以此类推第10个元素对应的下标为9。
我们可以通过数组下标来打印或输入数组
在这里插入图片描述
像这样,下标为7的数组对应第8个元素。

打印数组,向数组中输入

已经知道了数组下标,简单的利用一下循环就可以打印数组了,这里我们拿for循环举例

#include<stdio.h>
int main()
{
	int zxsz[10] = { 1,2,3,4,5,6,7,8,9,10 };
	for (int i = 0;i < 10;i++)
	{
		printf("%d ", zxsz[i]);
	}
	return 0;
}

在这里插入图片描述
输入也是相同的方法

#include<stdio.h>
int main()
{
	int zxsz[10] = { 0 };
	for (int i = 0;i < 10;i++)
	{
		scanf("%d", &zxsz[i]);
	}
	for (int i = 0;i < 10;i++)
	{
		printf("%d ", zxsz[i]);
	}
	return 0;
}

在这里插入图片描述

一维数组再内存中的存储

先来看一下这个代码的运行结果
在这里插入图片描述

%p用来打印地址

计算机内存地址是以16进制的方式来存储的,该数组相邻元素的地址相差都为4,而一个整形占内存大小就是4个字节,这说明了数组的存储是连续的,随着数组下标的增长,地址是由小到大的。
在这里插入图片描述
把数组类型改为长整型,地址就相差8。

最后,关于数组元素个数的计算,可以使用sizeof()
sizeof是一个关键字,可以计算类型或者变量的大小。

#include<stdio.h>
int main()
{
	long long zxsz[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz = sizeof(zxsz) / sizeof(zxsz[0]);
	printf("%d", sz);
	return 0;
}

它的打印输出结果就是10。

感谢观看,有错误请指出,
在这里插入图片描述

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~nilv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值