第九天
今天是C语言最后一天了,我自己学的时候,学到现在自我感觉自己的C语言提升了一个档次,如果读者坚持看我的博客的话,我相信会有很大的帮助的。加油!!!
先来复习一下昨天的内容:
函数的基本概念:
函数的声明:返回值类型 函数名(形参);
函数的定义:函数功能的实现
函数的调用:函数名(实参);
形参和实参的关系:形参是变量用来接收实参;实参可以是变量也可以是常量。
形参 = 实参
函数传参:
基本类型
1、复制传参
将实参数据备份,拷贝到形参中。一个数据会有两份
2、地址传参
将实参的地址备份,拷贝到形参中。地址有两份,数据只有一份
构造类型
1、复制传参 形参使用的是指针变量的转化格式 void fun(xxx a[5]);
2、地址传参 形参直接使用指针变量
本质没有区别,都是对地址备份。
函数指针:
函数名是函数空间的入口地址。
函数指针用来存放地址的。
函数指针的定义规则:将函数名替换成(*),返回值类型和形参类型不变
int fun(int);
int (*p)(int) = fun;
//fun(10);
p(10);
(*p)(10);
void (*fun(int,void (*)(int)))(int);
const int *p;
int const *p;
int *const p;
今天的内容:
函数的声明:返回值类型 函数名(形参);
函数的定义:函数功能的实现
函数的调用:函数名(实参);
形参和实参的关系:形参是变量用来接收实参;实参可以是变量也可以是常量。
形参 = 实参
函数传参:
基本类型
1、复制传参
将实参数据备份,拷贝到形参中。一个数据会有两份
2、地址传参
将实参的地址备份,拷贝到形参中。地址有两份,数据只有一份
构造类型
1、复制传参 形参使用的是指针变量的转化格式 void fun(xxx a[5]);
2、地址传参 形参直接使用指针变量
本质没有区别,都是对地址备份。
函数指针:
函数名是函数空间的入口地址。
函数指针用来存放地址的。
函数指针的定义规则:将函数名替换成(*),返回值类型和形参类型不变
int fun(int);
int (*p)(int) = fun;
//fun(10);
p(10);
(*p)(10);
void (*fun(int,void (*)(int)))(int);
const int *p;
int const *p;
int *const p;
今天的内容:
构造类型中——结构体、共用体
结构体是重点,共用体用的很少。
数组:是一段连续的内存空间,存放的数据是相同的类型
结构体:一段连续的内存空间,存放的数据可以是相同的类型,也可以是不同的类型。
定义结构体:数据类型 变量名;
1、
struct
{
int a;
char b;
}x;
a、b叫做结构体的成员。
x叫做结构体的变量。
2、
struct A
{
int a;
char b;
}x;
A叫做结构体的标签,可以任意定义这个标签
struct A叫做结构体类型
3、
typedef struct A
{
int a;
char b;
}type_t;
type_t就是结构体类型别名 <==> struct A
结构体的初始化:
1、直接在定义时初始化
struct A
{
int a;
char b;
}x = {
10,
'w',
};
2、先定义好类型
在通过类型定义变量,进而初始化
struct A
{
int a;
char b;
};
struct A x = {100,'y'};
3、struct A
{
int a;
char b;
};
事先存在的结构体类型
struct A x = {
.a = 10,
.b = 'w'
};
结构体成员是否是全局的,看结构体变量是否是全局的
struct
{
int a;
char b;
}x;
a、b叫做结构体的成员。
x叫做结构体的变量。
2、
struct A
{
int a;
char b;
}x;
A叫做结构体的标签,可以任意定义这个标签
struct A叫做结构体类型
3、
typedef struct A
{
int a;
char b;
}type_t;
type_t就是结构体类型别名 <==> struct A
结构体的初始化:
1、直接在定义时初始化
struct A
{
int a;
char b;
}x = {
10,
'w',
};
2、先定义好类型
在通过类型定义变量,进而初始化
struct A
{
int a;
char b;
};
struct A x = {100,'y'};
3、struct A
{
int a;
char b;
};
事先存在的结构体类型
struct A x = {
.a = 10,
.b = 'w'
};
结构体成员是否是全局的,看结构体变量是否是全局的
结构体成员的引用:使用符号"."来引用