数组array

数组  (arr[ ];)

概念:把一组相同数据类型的数存储起来,可保存多个值。数组也是一个变量,需要先声明再使用,变量名为arr。(声明变量真正的含义是在内存中开辟空间,int开辟4个字节空间,int arr[10]则开辟40个字节空间,数组开辟的空间是连续分配的)

一维数组

初始化一维数组

int arr[10]:默认数组中每个值都是0,可以在声明变量的同时进行初始化(即赋值),变量名为arr的数组中可以保存10个int类型的值

方式一:

int arr[10]={1,2,3,4,5,6,7,8,9,10};

方式二:

int arr[ ]={1,2,3,4,5,6,7,8,9};

方式三:部分初始化

int arr[10]={1,2,3};(数组中前三个值是1,2,3)

可以通过别名从内存中获取数组中的元素;

为了方便获取,对数组中的内容进行编号(编号从0开始);

别名:arr[0],arr[1],arr[2],arr[3]...索引:0 ~ size-1;

数组中元素的个数 = sizeof(arr) / sizeof(arr[0]);

e949a1be8d1c480b9f3ce67eb3ed45b6.jpg

不能修改数组中的元素(arr[无符号整型常量]),数组一旦创建,大小就固定了

在C语言中使用字符数组来保存字符串,字符串最后会加一个结尾标识\0

char name[ ] = "Jack";

char name[ ] = {"Jack"};

char name[256] = {"Jack"};

char name[ ] = {'J','a','c','k','\0'};

char name[256]={0} -----> char[256] (将变量名取掉,剩下的就是类型)

sizeof和strlen:读取大小

9fa2ff7ecece4b07a143850b7880ec21.jpg

冒泡排序法(升序排序)

规则:将相邻元素进行比较,如果前面的元素比后面的大,则交换位置

9504747dc3ad4b02afba85d0dce7f012.jpg

8e4b39f87323485ba6fcfdc898a83d49.jpg

注意:声明int ()=0或int ()=1,要清楚在干什么,从而进行选择0或1;

二维数组 

概念:与一维数组类似,只不过数组中的每一个元素又是一个一维数组,:二维数组对应的是一个平面图形,arr[行][列];

延伸:以此类推,三维数组是由二维数组构成,如果将一维数组比作有一排有多少人,二维数组可看作一个教室有多少排,三维数组可看作有多个教室

二维数组的创建

1.int arr[3][4];

2.char arr[3][5];

3.double arr[2][4];

二维数组的初始化

1.int arr[3][4]={1,2,3,4};

2.int arr[3][5]={{1,2},{4,5}};

3.int arr[  ][4]={{2,3},{1,2}};//定义二维数组时,行数可以省略,系统会通过初始化元素的个数或行数来分配对应的内存空间

int arr[3]={1,2,3};

int arr[3]={4,5,6};    -------->   int[3] arr[3]{arr1,arr2,arr3};   --------->   int arr[3][3]=={arr1,arr2,arr3};

int arr[3]={7,8,9};

d0e744a5d01d417bb240eca0a1465fd6.jpg

587fad1541eb4405b8c34e70d53ce57a.jpg

b16228ace3ef40b4ad55210292db2466.jpg

acf3652d444b4c079421678fc89ce6c8.jpg

例题

例题1.int arr[8] = {10,15,27,33,78,65};

(1)要求用户输出上述数组中的内容;

(2)求上述数组中的奇数和;

(3)求上述所有元素(8个)的平均值,省略小数,输出整数;

例题2.char buf[100] = {0};

从键盘输入字符串,若是大写字母转化为小写字母;若是小写字母,则不变;

例题3.利用二维数组打印杨辉三角图案(定义一个int a[10][10])

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值