学ios需要了解的C语言基础知识-6-维数组二维数组啥
来源:互联网 发布:淘宝宝贝销售规格 编辑:程序博客网 时间:2024/05/19 02:25
数组:存储多个相同数据类型的集合(容器)
定义数组格式: 数组类型 数组名称[元素个数]
数组初始化
1、先定义数组,再初始化
1、使用常量作为元素个数
int nums[5];
2、使用变量作为元素个数
int len = 5;
int nums[len];
注意点:
1、只有定义没有初始的数组元素是垃圾值(不确定)
2、没有初始化的数组不可以使用其中存放元素
3、先定义数组再初始化的时候只能一个一个的初始方式
2、定义数组的同时初始化
1、指定元素个数,同时进行全部显式初始化
int nums[5] = {1,2,3,4,5};
2、不指定元素个数,全部初始化
int nums[] = {1,2,3,4,5};
3、指定元素个数,部分初始化
int nums[5] = {1,2};
4、指定元素个数,给指定下标初始化
int nums[5] = {[4] = 1,[1] = 2};
注意点:
1、没有显式初始化的元素会自动被初始化为0
2、变量作为元素个数不可以使用这种方式进行初始化
3、数组的存储细节
1、数组一块连续的存储区域
2、低下标的元素在低字节地址上,高下标的元素在高字节地址上
3、数组名就是数组的首地址,和下标为0的元素的地址相同
注意点:
1、数组下标越界(不要出现这种情况)
1、约错对象
2、程序崩溃
2、什么样类型的数组里面只能存放什么类型的数据
4、数组与函数
1、基本数据类型作为函数参数传递是值传递
2、数组作为函数参数传递是地址传递
3、数组作为函数参数的时候,数组自动被转换为一个指针变量,那么会导致数组有些信息遗失,也就是说我们不可以通过函数形参来计算数组的长度
知识点回顾
1、数组:存放多个同种类型的数据的集合(容器)
格式:数组类型 数组名称[元素个数]
初始化:
1、先定义再初始化
1、使用常量作为元素个数
2、使用变量作为元素个数
2、定义的同时进行初始化
1、没有显式初始的元素系统自动初始化为0
2、使用变量作为元素个数的不可以使用这种方式进行初始化
注意点:
1、数组没有初始化里面是垃圾值(不确定的值),所有没有初始化的数组不可以使用它里面的数据
2、数组越界
1、约错对象
2、程序崩溃
3、什么样类型的数组里面只能存放什么样类型的数据
数组与函数
1、数组作为函数参数传递是地址传递
2、数组作为函数参数的时候,被自动转换为了指针类型,造成信息遗失,在函数中不可以获得数组长度信息
二维数组:数组元素是一维数组的数组
格式:数组类型 数组名称[一维数组的个数][一维数组的元素个数]
二维数组的遍历
1、外层循环控制第一个下标
2、内层循环控制第二个下标
定义数组格式: 数组类型 数组名称[元素个数]
数组初始化
1、先定义数组,再初始化
1、使用常量作为元素个数
int nums[5];
2、使用变量作为元素个数
int len = 5;
int nums[len];
注意点:
1、只有定义没有初始的数组元素是垃圾值(不确定)
2、没有初始化的数组不可以使用其中存放元素
3、先定义数组再初始化的时候只能一个一个的初始方式
2、定义数组的同时初始化
1、指定元素个数,同时进行全部显式初始化
int nums[5] = {1,2,3,4,5};
2、不指定元素个数,全部初始化
int nums[] = {1,2,3,4,5};
3、指定元素个数,部分初始化
int nums[5] = {1,2};
4、指定元素个数,给指定下标初始化
int nums[5] = {[4] = 1,[1] = 2};
注意点:
1、没有显式初始化的元素会自动被初始化为0
2、变量作为元素个数不可以使用这种方式进行初始化
3、数组的存储细节
1、数组一块连续的存储区域
2、低下标的元素在低字节地址上,高下标的元素在高字节地址上
3、数组名就是数组的首地址,和下标为0的元素的地址相同
注意点:
1、数组下标越界(不要出现这种情况)
1、约错对象
2、程序崩溃
2、什么样类型的数组里面只能存放什么类型的数据
4、数组与函数
1、基本数据类型作为函数参数传递是值传递
2、数组作为函数参数传递是地址传递
3、数组作为函数参数的时候,数组自动被转换为一个指针变量,那么会导致数组有些信息遗失,也就是说我们不可以通过函数形参来计算数组的长度
知识点回顾
1、数组:存放多个同种类型的数据的集合(容器)
格式:数组类型 数组名称[元素个数]
初始化:
1、先定义再初始化
1、使用常量作为元素个数
2、使用变量作为元素个数
2、定义的同时进行初始化
1、没有显式初始的元素系统自动初始化为0
2、使用变量作为元素个数的不可以使用这种方式进行初始化
注意点:
1、数组没有初始化里面是垃圾值(不确定的值),所有没有初始化的数组不可以使用它里面的数据
2、数组越界
1、约错对象
2、程序崩溃
3、什么样类型的数组里面只能存放什么样类型的数据
数组与函数
1、数组作为函数参数传递是地址传递
2、数组作为函数参数的时候,被自动转换为了指针类型,造成信息遗失,在函数中不可以获得数组长度信息
二维数组:数组元素是一维数组的数组
格式:数组类型 数组名称[一维数组的个数][一维数组的元素个数]
二维数组的遍历
1、外层循环控制第一个下标
2、内层循环控制第二个下标
0 0
- 学ios需要了解的C语言基础知识-6-维数组二维数组啥
- 学ios需要了解的C语言基础知识-1
- 学ios需要了解的C语言基础知识-4-进制
- 学ios需要了解的C语言基础知识-5-函数
- 学ios需要了解的C语言基础知识-8-结构体、枚举、typedef啥的
- 学ios需要了解的C语言基础知识-9-预处理指令宏定义啥的
- 学ios需要了解的C语言基础知识-11-C语言精华总结
- 学ios需要了解的C语言基础知识-2-运算符
- 学ios需要了解的C语言基础知识-3-分支结构循环结构
- 学ios需要了解的C语言基础知识-7-指针和指针与字符串函数
- 学ios需要了解的C语言基础知识-10-内外部函数,内外部变量
- C语言的二维数组
- iOS C语言5_二维数组
- C语言一维数组和二维数组的使用
- 二维数组的基础知识
- C语言二维数组
- C语言二维数组
- c 语言 二维数组
- Sublime Text2.0.2注册码
- 使用Git制作和管理Patch
- 哈希表
- Ubuntu打包压缩命令总结
- CTreeCtrl——类似QQ游戏大厅导航的树型控件
- 学ios需要了解的C语言基础知识-6-维数组二维数组啥
- Android:Activity启动模式详解
- hdu2141Can you find it?
- 用git发patch
- Hibernate的fetch (转)
- fusitionChars json方式做报表部分关键代码
- 黑马程序员—交通灯管理系统
- WaitForSingleObject的用法
- 使用Git生成patch和应用patch