数组
数组-----一组相同数据类型的数 存储起来.(可以保存多个值)
要使用变量,首先先声明变量.规则是先声明在使用
数组也是一个变量,只不过是一个可以保存多个相同类型值的变量
数据类型 变量名=表达式;
数据类型 变量名;//不进行赋值
int arr[10]; :变量名为arr的数组中可以保存10个int类型值,数组中的元素的个数,必须是一个无符号整数常数
声明变量真正的含义是在内存中开辟空间
int a=10; 在内存中开辟了4个byte的空间,用来保存10(默认认为数组中的每个值都是0)
int arr[10]; 在内存中开辟了40个byte的空间,用来保存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,10};(数组中保持了9个int类型的值)
方法三.可以在声明数组变量时同时进行(部分)初始化
int arr[10]={1,2,3};(数组中前三个值分别是1,2,3)
int arr[5] 在内存中开辟了20个byte的空间并且是连续分配的,用来保存5个int类型的值
如何从内存中获取数组中的元素?
可以通过别名来获取,数组中的每个值也有别名为了方便获取数组中的值,对数组中的内容进行编号,从0开始
别名 arr[0],arr[1],arr[2],arr[3],arr[4]
获取数组中值的个数
size = sizeof(arr)/sizeof(arr[0])
如何修改数组元素的值:
数组名[索引]=表达式 (arr[size]? 不会报错 )(数组名是个地址)
不能删除数组中元素.一旦数组创建,大小就固定了,不能改变
字符串:多个字符
在C语言中使用字符数组来保存字符串
char name[]="Jack" 字符串最后会加一个结尾标识\0 size=5
char name[]={"Jack"};
char name[256]={"Jack"};
char name[]
#include <stdio.h>
int main()
{
float scores[5] = { 53.2, 75, 74.2, 82.1, 63.5 };
int size = sizeof(scores) / sizeof(scores[0]);
for (int i = 0; i < 5; i++)
printf("scores[%d]:%.2f", i, scores[i]);
return 0;
}
在计算size[分配空间的大小]时,包含\0,
在计算字符串长度时
声明字符串数组:char name[256]={0};
数组的应用
<1>冒泡排序
1 4 6 13 45 76 3 61
采取的规则:相邻元素进行排序,如果前面的元素比后面的大,就交换位置
二维数组:
看作一维数组,只不过数组中的每个元素又是一维数组
int arr[3]={1,2,3};
int arr2[3]={4,5,6};
int arr3[3]={7,8,9};