学习c语言第八周-创新互联

数组 重点内容
  1. 一堆数组的创建和初始化
  2. 一堆数组的使用
  3. 一堆数组在内存中的储存
  4. 二堆数组的创建和初始化
  5. 二堆数组的使用
  6. 而对数组在内存中的储存
  7. 数组作为函数参数
1.一维数组的创建和初始化

数组----通俗的讲就是一组数

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、秀英网站维护、网站推广。

  ----概念:一组相同类型元素的组合

数组的创建

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}
//各个下标如下
12345
01234
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,所以相邻元素的地址都差四个字节

  1. 一维数组在内存中是连续存放的
  2. 随着数组下标的增长,地址是有低变化到高的

根据地址将数组的元素全部打印出来


2.二维数组的创建和初始化

//二维数组的创建

  • int arr[3][4];   表示三行四列
  • char arr[3][5];
  • double arr[2][4] ;

例如  int arr[3][4];(每个元素都是int类型)

intintintint
intintintint
intintintint

//二维数组的初始化

完全初始化

不完全初始化,默认补0,如果是字符补/0

一行一行的初始化

注意:二维数组的行数可省略,列数不可以省略。[ ][4]

二维数组的使用

二维数组行列的下标都是从0开始

0123
0intintint
1intintint
2intintint

打印二维数组的每一行

二维数组在数组中的储存

注意:二维数组在内存中也是连续存放的!

 一行内部连续,跨行也是连续的!

// 二维数组在内存储存中也像一维一样

访问二维数组的所有元素

二维数组可以看成一维数组

则第一行的数组名可看成为arr[0]


3.函数作为函数参数

冒泡排序函数

注意:每一次解决一个数字,所以大的数字在最右边 

上面一共10个数字待排序    一共9趟比较

n个数字待排序                     一共n-趟

计算趟数

划重点:j< sz-1-i

问题探讨:

数组名是首元素的地址,那为什么长度是4个字节?

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:学习c语言第八周-创新互联
本文地址:http://ybzwz.com/article/ddeedg.html