4.C语言数组

本文介绍了C语言中的数组,包括一维数组和二维数组的概念。一维数组是相同类型元素的集合,数组名代表首元素的地址,可以通过下标访问元素。在C语言中,数组在编译时确定大小,并在运行时分配内存。二维数组类似,但在定义和使用时,行数可以省略,但列数必须指定。此外,还提到了数组越界的问题以及二维数组在三子棋游戏中的应用。
摘要由CSDN通过智能技术生成

数组

1.1一维数组

数组:一组相同类型元素的集合
①数组的定义

//数组:存储相同数据类型的集合,在物理上占用连续的内存
int main()
{
   
	int arr[10] = {
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };//定义数组
	int arr2[10] = {
    0 };//数组内10个元素初始值都是0
	int arr3[10] = {
    1, 2, 3, 4 };//数组后面6个没有被初始化的元素是0
	int arr4[10];//数组元素是默认值
		//printf("%d\n", arr[3]);//打印下标为3的元素也就是第四个,数组的下标是从0开始
	int i = 0;
	for (i = 0; i < 10; i++){
   
		printf("%d ", arr[i]);
		
	}

	return 0;
}

②字符类型数组

int main()
{
   
	char crr[5] = {
    'a', 'b', 'c', '\0' };//定义字符类型的数组
	char crr2[] = {
    'a', 'b', 'c', 'e' ,'f'};//中括号里如果没有写数组大小,根据存储的元素个数默认
	char crr3[5] = "abcd";//字符串后面默认有\0,所以长度为5只能输进去4个
	printf("%s\n", crr);//%s遇到0停止
	printf("%s\n", crr2);
	printf("%s\n", crr3);
	//abc
	//abcef烫烫烫烫烫蘟bc
	//abcd
	return 0;
	}

③用函数打印数组内元素

//打印数组内的元素
void Show1(int arr[],int len)
{
   
	int i = 0;
	for (i = 0; i < len; i++)
	{
   
		printf("%d ", arr[i]);
	}  
	printf("\n");
}
void Show(int *arr, int len)
{
   
	int i = 0;
	for (i = 0; i < len; i++)
	{
   
		printf("%d ", arr[i]);// arr[i]=*(arr+i)
	}
	printf("\n");
}


int main()
{
   
	int arr[10] = {
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int len = sizeof(arr) / sizeof(arr[0]);
	Show1(arr,len);
	Show(arr, len);
	return 0;
}

a)数组名代表首元素的地址
b)arr[i]=*(arr+i)
c)arr+i:arr加几个取决于arr的类型,该题中arr+1加4,因为int类型
d)int len = sizeof(arr) / sizeof(arr[

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值