我是靠谱客的博主 坦率微笑,最近开发中收集的这篇文章主要介绍【学习笔记之我要C】数组一、一维数组二、二维数组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 一、一维数组
    •   1.一维数组的创建
    •   2.一维数组初始化
    •   3.一维数组的内存存储
  • 二、二维数组
    •   1.二维数组的创建
    •   2.二维数组初始化
    •   3.二维数组的内存存储

一、一维数组

  1.一维数组的创建

int main() {
	int arr[8];//数组类型 数组名[元素个数];
	char ch[3];

	return 0;
}

  注:元素个数一定是一个常量表达式,形如arr[n]的数组创建只有在C99语法下才支持,有些编译器能够编译这样的代码,但不建议使用。

  2.一维数组初始化

int main() {
	int arr1[3] = { 1, 2, 3 };//完全初始化
	int arr2[3] = { 1, 2 };//不完全初始化

	/*
	以下两行代码等价
	int arr3[3] = { 1, 2, 3 };
	int arr3[] = { 1, 2, 3 };
	*/

	return 0;
}

  注意区分以下代码:

int main() {
	char ch1[5] = { 'b', 'i', 't' };
	char ch2[] = { 'b', 'i', 't' };

	char ch3[5] = "bit";// b i t  0
	char ch4[] = "bit";// b i t 

	return 0;
}

在这里插入图片描述
在这里插入图片描述
  因为是结束标志,而ch2并没有,所以它会接着往下打印,直到找到为止。
在这里插入图片描述

  3.一维数组的内存存储

int main() {

	int arr[5];
	char ch[5];
	int i = 0;
	for (i = 0; i < 5; i++) {
		printf("arr[%d] = %p ", i, &arr[i]);//%p - 按地址格式打印 - 十六进制打印
		printf("ch[%d] = %pn", i, &ch[i]);
	}

	return 0;
}

在这里插入图片描述
  由上图可以看出,每个arr元素的地址之间大小差4个字节,每个ch元素的地址之间大小差1个字节。而一个int类型的大小刚好是4字节,一个char类型的大小也刚好是1字节。所以一维数组在内存中是连续存放的,并且随着地址的增长,地址由低到高变化
  注:数组名的地址是数组首元素的地址。


二、二维数组

  1.二维数组的创建

int main() {
	//创建
	//数组类型 数组名[行元素个数][列元素个数];
	int arr[3][4];
	char ch[3][4];

	return 0;
}

  2.二维数组初始化

int main() {
	//初始化 - 创建的同时赋值
	int arr1[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
	int arr2[3][4] = { 1,2,3,4,5,6,7 };//不完全初始化 - 后面补0
	int arr3[3][4] = { {1, 2}, {3, 4}, {5, 6} };
	int arr4[][4] = { {1, 2}, {3, 4}, {5, 6} };//行可以省略,但是列不能省略

	return 0;
}

在这里插入图片描述
  注:为了代码的易读性,建议每行用一个{}括起来,可以理解把二维数组理解为一个一维数组里放了几组一维数组。

  3.二维数组的内存存储

int main() {
	int arr[3][4] = { {1,2},{3,4},{5,6} };
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++) {
		for (j = 0; j < 4; j++) {
			printf("arr[%d][%d] = %pn", i, j, &arr[i][j]);
		}
	}

	return 0;
}

在这里插入图片描述
  由上图可以看出,每个arr元素的地址之间大小差还是4个字节,第一行的最后一个元素与第二行的第一个元素之间的大小差也是4。所以二维数组在内存中也是连续存放的,也是随着地址的增长,地址由低到高变化

最后

以上就是坦率微笑为你收集整理的【学习笔记之我要C】数组一、一维数组二、二维数组的全部内容,希望文章能够帮你解决【学习笔记之我要C】数组一、一维数组二、二维数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部