【C】Array

在这里插入图片描述

系列连载

参考



#include<stdio.h>

int main(){
	int a[5] = { 1, 2, 3, 4, 5 };
	for (int i = 0; i < 5; i++){
		printf("%d\n", a[i]);
	}
	return 0;
}

printf a[5] 可以,给 a[5] = 100 进行赋值会报错

为什么需要数组

  • 为了解决大量同类型数据的存储和使用问题
  • 为了模拟现实世界(多维)

数组的分类

一维数组

1)怎样定义一维数组

  • 为 n 个变量连续分配存储空间
  • 所有的变量数据类型必须相同
  • 所有变量所占的字节大小必须相等

2)操作

  • 初始化
    完全初始化 int a[5] = {1,2,3,4,5};
    不完全初始化 int a[5] = {1,2,3};
    不初始化,所有元素是垃圾值
    清零 int a[5] = {0};
  • 赋值
  • 排序
  • 求最大、最小值
  • 倒序
#include<stdio.h>

int main(){
	int a[7] = { 1, 2, 3, 4, 5, 6, 7 };
	int i = 0, j = sizeof(a)/sizeof(a[0]) -1, temp; // j 是获取数组的长度 -1 下标

	while (i < j){
		temp = a[i];
		a[i] = a[j];
		a[j] = temp;
		i++;
		j--;
	}


	for (i = 0; i < sizeof(a) / sizeof(a[0]); i++){
		printf("%d\n", a[i]);
	}

}

二维数组

初始化
输出

#include<stdio.h>

int main(){
	int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12 };


	for (int i = 0; i < 3; i++){
		for (int j = 0; j < 4; j++){
			printf("%-5d", a[i][j]);
		}
		printf("\n");
	}
}

output

1    2    3    4
5    6    7    8
9    10   11   12

多维数组

不存在
因为内存是线性唯一的
n 维数组可以当作每个元素是 n-1 维数组的一维数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值