C语言06
2015-12-15 18:50
531 查看
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)每一次按内存最大的元素申请内存
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)每一次按内存最大的元素申请内存
相关文章推荐
- C语言05
- C语言04
- C语言03
- C语言02
- C语言01
- C++ 字符串相关函数
- 用C++编写thrift第一个例子
- C语言中有关两个数,值的交换
- C语言基础知识汇总
- C++ List
- c语言中冒泡和选择排序
- 蓝桥杯基础练习 未名湖的烦恼
- 冒泡排序优化
- android NDK开发编译C++文件出现Type 'jint' could not be resolved和Unresolved inclusion: <jni.h>的解决办法
- CURL库在C++程序中的运用浅析
- 蓝桥杯基础练习 杨辉三角
- 使用C++绘制GDI位图的基本编写实例
- 探究 Windows 下编译的栈空间 以及 DEV C++工具栈空间的调整(设置)
- C++嵌入Python,以及两者混用
- C++构造函数详解及显式调用构造函数