013-结构体-C语言笔记

013-结构体-C语言笔记

学习目录

1.【掌握】返回指针的函数程序员

2.【掌握】指向函数的指针数组

3.【掌握】结构体的声明ide

4.【掌握】结构体与数组函数

5.【掌握】结构体与指针学习

6.【掌握】结构体的嵌套ui

7.【掌握】结构体与函数spa

1、返回指针的函数

指针做为函数的返回值3d

指针是能够做为函数的返回值的,不能返回局部变量的指针,由于当函数执行结束后指针变量就释放了。若是咱们真的须要返回一个指针变量,那就要保证咱们的函数执行完毕以后,指针指向的变量仍然存储在内存之中。那咱们能够将变量建立在堆空间中,使用malloc或者calloc申请空间。或者直接声明为全局变量或者用static修饰的局部变量。指针

若是函数须要返回一个字符串,咱们能够返回(char *)类型字符串,不要使用字符数组,由于字符数组在函数执行结束后,就释放了。而使用(char *)声明的字符串是存储在数据段的,直到程序执行结束才会释放。code

 

2、指向函数的指针

程序在运行的时候,函数是存储在内存(代码段)之中的,存储函数的空间确定也是有地址的,因此咱们能够用指针指向函数。

语法:返回值类型 (*指针名)([参数列表]);

注意:

1.函数的地址就是函数名。

2.指向函数的指针变量,本质上仍是一个变量,那么咱们就能够声明、赋值给另一个同类型的指针变量使用。

无参无返回值

有参有返回值

应用场景:多种方式对字符串数组进行排序

 

3、结构体的声明

在实际应用中,咱们一般须要由不一样类型的数据来构成一个总体,好比学生信息这个总体能够由姓名、年龄、身高等数据构成,这些数据都具备不一样的数据类型,姓名能够是字符指针类型,年龄能够是整型,身高能够是浮点型。C语言提供了一种构造类型来解决这个问题,由程序员本身声明多个数据类型组成一个总体当作一种新的数据类型,这个玩意就是结构体。结构体里的声明的多个数据类型变量叫作结构体的成员。

声明结构体类型语法:

struct 类型名 {

    数据类型1 成员名1;

    数据类型2 成员名2;

    ..........

};

声明结构体变量语法:struct 类型名 变量名;

为结构体变量中的成员赋值

使用结构体注意:

1.这个新声明的结构体也是一个数据类型,由程序员本身声明的新类型,因此能够声明这个结构体类型的变量。

2.定义在大括号之中的变量,叫新类型的成员。必需要先声明结构体类型,再声明结构体变量。

3.结构体类型名首字母大写,而且结构体末尾须要加分号,

4.声明一个结构体变量没有初始化,成员的值是垃圾值,若是声明的同时初始化了部分,其余成员初始化为0。

5.相同类型的结构体变量是能够相互赋值的,赋值是将原结构体中的每个成员的值挨个拷贝给目标结构体变量。

6.结构体变量名,直接表明整个结构体变量。在外面学习到的全部数据类型中,只有数组名、函数名才表明他们的地址。其余都是表明变量自己

4、结构体与数组

语法:struct 结构体类型名 数组名[长度];

 

5、结构体与指针

结构体变量也是一个变量,那么这个结构体变量必定是有内存地址的,因此咱们就能够搞个指针指向这个结构体变量。而后咱们就能够经过指针间接操做结构体变量。

语法:struct 结构体类型名 *指针名;

 

6、结构体的嵌套

咱们在为结构体写成员的时候,发现某个成员也是一个须要多个数据组成一个总体的数据,这个时候咱们就可使用结构体嵌套。在结构体内声明另外一个结构体类型的变量做为成员来使用。

 

7、结构体与函数

结构体做为函数的参数

结构体做为函数的返回值

相关文章
相关标签/搜索