C语言06

   1.当数组当成是参数,我们给的是数组名,数组名其实就是数组的首地址。

      2.数组作形参数时  函数在被调用的时候,会拷贝数组名的对应的地址,然后通过这个地址访问数组,就相当于直接操作的原来的数组。

    当数组作为函数的参数的时候,是可以直接被修改的,形参和实参指向同一个数组。

    函数实现中,对形参接收的数组求占内存大小(即数组首地址),所得结果永远是8/4;

   如果需要通过函数遍历整个数组,至少需要两个参数,一个是数组,一个是数组个数。

练习(1)写一个函数,遍历打印一个数组,

        (2)编写一个函数,对数组的所有元素随即赋值,返回值时void 

      (3)编写一个函数,实现根据参数的不同打印不同类型的girl;   

  3.枚举:

 (1)枚举时另外一种构造数据类型,

(2) 核心意义是讲可能性控制在可控范围内。 意义,提高代码的可读性。

(3)枚举的语法: enum tepy{

 sport=1,slept

 };

把所有的情况列举了一遍,enum代表时枚举类型,大括号内时所有情况,定义的所有类型在.h中声明,所有列出,在.m中实现,

/*

 4.结构体,声明,定义,使用。

 1.结构体:是为了解决混合数据类型的存储,是构造数据类型,

 (1)声明 关键字:struct   struct  结构体名字{ 类型 子变量名;类型 子变量名;......} 在.h中存储。

   (2)定义:声明变量并且初始化,struct 结构体名 变量名={ 按顺序初始化};在main中定义,

   (3)访问:( . )优先级最高。

 (4)结构体的字符串同样不能直接复制,需要使用字符串函数。相同类型的结构体之间可以直接整体复制,

    2.[别名定义]typedef    初始类型  自定义类型名 typedef  struct Stu  student;

 实现将一个数据类型,定义成一个别名,

 最主要是个给 数路类型名比较长的用,结构体;

 练习,

    (1)使用student结构体,声明存储三个人的信息,比较谁的分数最高,并输出所有信息。

   (2)声明一个函数,实现,讲结构体数组遍历打印,输出里面所有结构体的信息

 3.结构体的嵌套使用。

 4.结构体和数组,结构体数据类型也可以通过数组来批量存储。

 5.结构体的内存占用,(1)按顺序添加(2)内存对齐,前面占用的内存是将要占用的整数倍,(3)每一次按内存最大的元素申请内存

原文地址:https://www.cnblogs.com/ytmaylover/p/5049123.html