(6)
一、结构体概念
1. 结构体也属于一种数据类型,他属于其中的构造类型,结构体要比数组更加灵活,可以存放不同类型的数据,
2. 结构体可以直接赋值
3. 结构体是由若干成员组成的,成员既可以是基本数据类型,又可以是构造类型
3. 声明一个结构体相当于创造了一种数据类型
二、结构体声明
1. 格式
struct 结构体名{
类型说明符 成员名;
...
类型说明符 成员名;
};
2. 示例
struct Student{
char name[20];
int age;
}
三、结构体变量定义
1. 利用上面创造的数据类型来定义结构体变量
struct 结构体名 变量名 = {初值};
struct Student student = {"zhansan",24};
2. 结构体成员访问
结构体成员的使用和普通变量使用没有区别,可以直接赋值
四、结构体的优化
1. typedef: 能够为现有类型创建一个新的名字
2. 格式:
typedef 原类型名字 新类型名字
例如:typedef int Integer
3. 采用typedef优化结构体
1) 在定义结构体变量时优化
2)在声明结构体时优化
五、结构体应用
1. 有三个学生,编程找出分数最高的学生以及年龄最小的学生
2. 结构体嵌套,也就是说结构体的成员仍然可以是结构体
3. 访问学生的出生年份
五、结构体与数组
1. 可以将多个结构体变量放到数组中,构成结构体数组
2. 练习
1) 有五名学生保存在结构体数组中,编程查找成绩最高者,输出该学生的全部信息
2) 对上诉五名学生数组,按成绩的从高到低排序,并输出
(7)
一、指针
1. 程序的每个数据都有内存地址,每个内存单元都有一个编号,这个编号就是内存单元的地址,也被称作指针。
2. 指针是一种特殊的数据类型,直接指向目标的存储地址,实现直接访问对象存储空间的功能。
3. 内存单元中的内容才是我们关注的数据
4. 指针变量: 用来保存内存单元地址的变量,就是指针变量。
二、 指针变量的定义和使用
格式:
数据类型 *p = NULL(初始值); //NULL 是0的字面零值
1. 与普通变量不同的是,定义指针变量的时候,前面需要加*
2. 此时的*只起到修饰作用,告诉编译器,p是个指针
三、取址运算符
& ==> 取址运算符
用来找到相应变量的内存地址
四、取值运算符
* ==> 取值运算符
用来找到指针变量指的内存地址里面的值,
五、指针与数组
1. 在C语言中,数组是构造类型,系统会自动分配一段连续的空间来存储数组的全部数据,其中数组名代表数组首元素地址
2. 数组名就代表着数组里面的第一个元素的地址
六、指针的算术运算
1. 指针的算术运算只要求加减
2. 不同类型的指针的主要区别指针在自增或自减时,指针移动字节数多少,以及用*取值时取多少字节内的数据
3. 指针可以当数组名使用
七、指针与字符串
字符指针可以操作单个字符,也可以操作字符串
char string[] = "iPhone";//string
char *p = string;
*(p+4) = 'v';
printf("%s\n",p+1);
八、指针数组
1. 存放指针的数组称为指针数组
char *strings[3] = {“iPhone” , “Android” ,“win8”};
输出全部字符串
2. 可以通过指针修改字符数组,但不可以修改字符串常量
以上就是为期两周的C语言学习,感谢敬爱的读者观看。。。。
亲,打赏的走起。。。。
网友评论