c语言->数组(1)

1.一维数组的创建和初始化

1.1一维数组的创建

  • 数组是同类型元素的集合,其创建方式为:
//元素类型  数组名  [常量表达式]
	int arr[10];
	float arr[10];
	double arr[10];
  • 在[ ]中要使用常量,不可以使用变量。
  • [ ]中的常量表示数组中的元素个数。

1.2 一维数组的初始化

  • 初始化的意思就是给数组一些合理的初始值。
		//数组的初始化
	int arr[10] = { 2, 3, 4, 5 };//不完全初始化
	float arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
	double arr[10] = { 1, 'a', 3, 'b', 5, 'c', 7, 8, 9, 0};

  • 不完全初始化:在初始化时给数组的初始值小于指定元素的个数,未初始化的部分默认为0。
  • 在初始化时可以不指定元素个数,元素的个数取决于初始化的内容。

1.3一维数组的使用

  • [ ]表示数组的下标索引

int arr[5] = {1, 2, 3, 4, 5};
printf(“%d”,arr[0]);
数组是由下标来进行访问的下标从0开始,以此类推。

#include <stdio.h>
int main()
{
	//数组的使用
	int arr[10] = { 0 };//数组的不完全初始化
	//计算元素的个数
	int sz = sizeof(arr) / sizeof(arr[0]);
	//sizeof()是用来计算数组大小的
	//用整个数组来除以单个元素的大小,即可得到数组的元素个数
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		arr[i] = i;//给数组元素初始化为数字1到9
	}
	//输出数组内容
	for (i = 0; i < 10; i++)
	{
		printf("%d", arr[i]);
	}

	return 0;
}

在这里插入图片描述

1.4一维数组在内存中的存储

  • 我们先看代码
#include<stdio.h>

int main()
{
	int i = 0;
	int arr[5] = { 0 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (i = 0; i < sz; i++)
	{
		printf("&arr[%d] = %p\n", i, &arr[i]);
	}
	
	return 0;
}

在这里插入图片描述
在这里插入图片描述

  • 由此可以看出数组元素的存储地址是由于低地址到高地址。

  • 数组在内存中是来连续存放的。

  • 因为该数组的元素类型为整形,所以一个元素占四个字节。

2.二维数组的创建和初始化

2.1二维数组的创建

//数组创建
int arr[3][4];
char arr[3][5];
double arr[2][4];
  • 和一维数组大同小异,二维数组有了行和列的概念。
  • 前面的 [常量 ] 为行,后面的 [常量 ] 为列。
  • 二维数组也可以理解为数组的数组。

2.2二维数组的初始化

  • 二维数组的初始化行可以省略,列不可以省略
//1
	int arr[2][3] = { 1, 2, 3 };
//2
	char arr[2][3] = { {1, 2, 3},{4, 5, 6} };
//3
	double arr[][3] = { {1, 2, 3},{4, 5, 6} };

2.3二维数组的使用

  • 同样是靠下标索引,就不过多赘述了。
#include<stdio.h>

int main()
{
	int arr[3][4] = {0};//不完全初始化
	int i = 0;

	for (i = 0; i < 3; i++)//给元素赋值
	{
		int j = 0;
		for (j = 0; j < 4; j++)
		{
			arr[i][j] = i * 4 + j;
		}
	}
	for (i = 0; i < 3; i++)//打印数组
	{
		int j = 0;
		for (j = 0; j < 4; j++)
		{
			printf("%d\t", arr[i][j]);

		}
		printf("\n");
	}
	
	return 0;
}

2.3二维数组在内存中的存储

#include<stdio.h>

int main()
{
	int arr[3][4] = {0};
	int i = 0;
	for (i = 0; i < 3; i++)
	{
		int j = 0;
		for (j = 0; j < 4; j++)
		{
			printf("&arr[%d][%d] = %p\n",i, j, &arr[i][j]);

		}
		printf("\n");
	}
	
	return 0;
}

在这里插入图片描述
在这里插入图片描述

  • 由图可知二维数组在内存中也是连续存储的。

总结:
数组的基本概念和其使用方法,让我们对数组有了基本的认识
文章至此,感谢大家的观看。

结语:希望它能带给大家一些收获,同时欢迎大家指出我不对的和希望我改进的地方,
在评论区告诉我哦。感谢!感谢!,最后求点赞,点赞和关注是我更新的最大动力哦

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值