学习c语言第八周-创新互联
数组
重点内容
2.二维数组的创建和初始化
3.函数作为函数参数
文章题目:学习c语言第八周-创新互联
网页链接:http://scyanting.com/article/ddeedg.html
- 一堆数组的创建和初始化
- 一堆数组的使用
- 一堆数组在内存中的储存
- 二堆数组的创建和初始化
- 二堆数组的使用
- 而对数组在内存中的储存
- 数组作为函数参数
数组----通俗的讲就是一组数
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、秀英网站维护、网站推广。----概念:一组相同类型元素的组合
数组的创建
int main()
{
int arr [8];
//type_t type_name [const_n]
return 0;
}
【const_n】一定要是常量表达式,数组名是数组首元素的地址
数组的初始化
什么是初始化?
例如刚开始给a赋值为10 ---- int a = 10;//初始化
//数组的初始化
int arr[6] = [1,2,3,4,5,6] //完全初始化
int arr[6] = [1,2,3]//不完全初始化
int arr2[] = [1,2,3]//前面的[]根据后面的确定元素个数,一定要初始化
//字符数组
char ch[5] = {'a','b','c'}; //没有初始化的默认为0
char ch[] = {'a','b','c'};
char ch[5] = “bit” // 字符串末尾默认有\0
//五个元素: b i t \0 0
[ ]下标引用操作符
数组是通过下标来访问的,默认0为第一个
//例如
int arr[5] = {1,2,3,4,5}
//各个下标如下
1 | 2 | 3 | 4 | 5 |
0 | 1 | 2 | 3 | 4 |
int main
{
int arr[10] = {0};数组的不完全初始化
//计算数组的元素个数
int sz = sizeof(arr)/sizeof(arr[0]);//arr共有10个元素,一个元素大小4个字节
//输出数组里面的内容
for(i=0; i<10; i++)
{
print("%d", arr[i]);
}
return 0;
}
一维数组在内存中的储存
注意:%p 是打印地址 ,每一个字节大小为4,所以相邻元素的地址都差四个字节
- 一维数组在内存中是连续存放的
- 随着数组下标的增长,地址是有低变化到高的
根据地址将数组的元素全部打印出来
2.二维数组的创建和初始化
//二维数组的创建
- int arr[3][4]; 表示三行四列
- char arr[3][5];
- double arr[2][4] ;
例如 int arr[3][4];(每个元素都是int类型)
int | int | int | int |
int | int | int | int |
int | int | int | int |
//二维数组的初始化
完全初始化
不完全初始化,默认补0,如果是字符补/0
一行一行的初始化
注意:二维数组的行数可省略,列数不可以省略。[ ][4]
二维数组的使用
二维数组行列的下标都是从0开始
0 | 1 | 2 | 3 |
0 | int | int | int |
1 | int | int | int |
2 | int | int | int |
打印二维数组的每一行
二维数组在数组中的储存
注意:二维数组在内存中也是连续存放的!
一行内部连续,跨行也是连续的!
// 二维数组在内存储存中也像一维一样
访问二维数组的所有元素
二维数组可以看成一维数组
则第一行的数组名可看成为arr[0]
3.函数作为函数参数
冒泡排序函数
注意:每一次解决一个数字,所以大的数字在最右边
上面一共10个数字待排序 一共9趟比较
n个数字待排序 一共n-趟
计算趟数
划重点:j< sz-1-i
问题探讨:
数组名是首元素的地址,那为什么长度是4个字节?
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章题目:学习c语言第八周-创新互联
网页链接:http://scyanting.com/article/ddeedg.html