栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言:数组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言:数组

概述

相同数据类型的有序集合

数组元素地址连续

数组名为地址,是数组首元素的地址

#define _CRT_SECURE_NO_WARNINGS
#include

int main(void) {
	int arr[] = {10,20,30,40,50,60,70,80,90,100};
	printf("arr = %pn", arr);
	printf("&arr[0] = %pn", &arr[0]);
	printf("&arr[1] = %pn", &arr[1]);
	printf("&arr[2] = %pn", &arr[2]);
	return 0;
}
运行结果:
arr = 0034F6D8
&arr[0] = 0034F6D8
&arr[1] = 0034F6DC
&arr[2] = 0034F6E0
数组大小、数组元素大小、数组元素个数
int main03(void) {
	int arr[] = { 10,20,30,40,50,60,70,80,90,100 };
	printf("数组大小:%un", sizeof(arr));
	printf("数组元素大小:%un", sizeof(arr[0]));
	printf("数组元素个数:%dn", sizeof(arr) / sizeof(arr[0]));
	return 0;
}
数组初始化
int arr0[10] = { 1,2,4 };//剩余未初始化的元素默认为0
int arr1[10] = {0};//将数组元素全部初始化为0
int arr2[10];//数组元素为内存实际值,随机值,可使用下标单个赋值,eg:arr[1]=6
int arr3[] = {1,2,4};//编译器按赋值自动获取数组元素个数
二维数组

一围数组的数组,数组元素是一围数组

  • 打印二维数组
int main(void) {
	int arr[2][3] = { {2,5,8},{7,9,5} };
	int i, j;
	for (i = 0; i < 2; i++) {
		for (j = 0; j < 3; j++) {
			printf("arr[%d][%d]=%dt", i, j, arr[i][j]);
		}
		printf("n");
	}
	return 0;
}
运行结果:
arr[0][0]=2     arr[0][1]=5     arr[0][2]=8
arr[1][0]=7     arr[1][1]=9     arr[1][2]=5
  • 数组大小、数组一维元素大小、数据元素大小、行数、列数
#define _CRT_SECURE_NO_WARNINGS
#include

int main(void) {
	int arr[2][3] = { {2,5,8},{7,9,5} };
	printf("数组大小:%dn", sizeof(arr));
	printf("数组一维元素大小:%dn", sizeof(arr[0]));
	printf("数组元素大小:%dn", sizeof(arr[0][0]));
	printf("数组行数:%dn", sizeof(arr) / sizeof(arr[0]));
	printf("数组列数:%dn", sizeof(arr[0]) / sizeof(arr[0][0]));
	return 0;
}
  • 数组的地址=数组的首行地址=数组的第一个元素的地址
#define _CRT_SECURE_NO_WARNINGS
#include

int main(void) {
	int arr[2][3] = { {2,5,8},{7,9,5} };
	printf("arr:%pn", arr);
	printf("arr[0]:%pn", arr[0]);
	printf("&arr[0][0]:%pn", &arr[0][0]);
	printf("&arr[0][2]:%pn", &arr[0][2]);
	printf("arr[1]:%pn", arr[1]);
	return 0;
}
运行结果:
arr:0026F7A8
arr[0]:0026F7A8
&arr[0][0]:0026F7A8
&arr[0][2]:0026F7B0
arr[1]:0026F7B4
  • 初始化
#define _CRT_SECURE_NO_WARNINGS
#include

int main(void) {
	int arr[3][4] = { {2,7},{75,8},{26,37,9} };//未被初始化的数值为0
	int arr1[3][4] = {0};//初始化元素全为0的数组
	int arr2[][4] = {2,7,75,8,26,37,9};//编译器自动按声明的行列存放元素,一行满了再存下一行
	int i, j;

	int row = sizeof(arr ) / sizeof(arr[0]);
	int col = sizeof(arr[0]) / sizeof(arr[0][0]);
	for (i = 0; i < row; i++) {
		for (j = 0; j < col; j++)
		{
			printf("%d ", arr[i][j]);
		}
		printf("n");
	}
	printf("====================n");
	int row1 = sizeof(arr1) / sizeof(arr1[0]);
	int col1 = sizeof(arr1[0]) / sizeof(arr1[0][0]);
	for (i = 0; i < row1; i++) {
		for (j = 0; j < col1; j++)
		{
			printf("%d ", arr1[i][j]);
		}
		printf("n");
	}
	printf("====================n");
	int row2 = sizeof(arr2) / sizeof(arr2[0]);
	int col2 = sizeof(arr2[0]) / sizeof(arr2[0][0]);
	for (i = 0; i < row2; i++) {
		for ( j = 0; j < col2; j++)
		{
			printf("%d ", arr2[i][j]);
		}
		printf("n");
	}
	return 0;
}
运行结果:
2 7 0 0
75 8 0 0
26 37 9 0
====================
0 0 0 0
0 0 0 0
0 0 0 0
====================
2 7 75 8
26 37 9 0
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/847164.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号