七、指针
7.1指针的基本概念
作用:可以通过指针简介访问内存
1,内存编号是从0开始记录的一般用十六进制表示
2,可以利用指针变量保存地址
7.2指针变量的定义和使用 指针变量定义语句:数据类型*变量名;
1、定义指针:指针记录变量a的地址 int a =10; int * p; p=&a;
2、使用指针可以通过解引用的方式来找到指针方向的内存
7.3指针所占内存空间 在32位操作系统占用4个字节空间 64位下占8个字节
7.4空指针和野指针
空指针:指针变量指向内存中编号为0的空间
用途:初始化指针变量
注意:空指针指向的内存在不可以访问的
野指针:指针变量指向非法的内存空间
7.5 const修饰指针 const修饰指针由三种情况
1、const修饰指针--常量指针
2、const修饰常量--指针常量
3、const即修饰指针也修饰常量
例子
1,const修饰指针--常量指针
int a =10; const int * p=&a;
int b = 10; 常量指针 特点:指针的指向可以修改但是指针指向
int *p=&a; 值不可以改变
2,const修饰常量--指针常量
int *const p=&a; 特点:指针的指向不可以改,指针指向的值可以改变
3,const即修饰指针又修饰常量
const int* const p=&a;两者都不可以改变
7.6指针和数组 作用:利用指针访问数组中元素(使用++指针想后偏移四个字节)
1,值传递 2,地址传递
八、结构体
结构体:属于用户自定义的数据类型,允许用户存储不同的数据类型
8.1结构体基本概念
8.2结构体定义和作用 语法 strut 结构体名称{结构体成员};
通过结构体快速创建变量的方式有三种;
struct 结构体名 变量名
struct 结构体名 变量名={成员1值,成员2值,成员3值}
定义结构体顺便创建变量
8.3结构体数组:将自定义的结构体放到数组中方便维护
struct 结构体名 数组名[元素个数]={{},{},{}}
8.4结构体指针 通过指针方法访问结构体中的成员
利用操作系统符号“->”可以通过结构体指针访问结构体属性
8.5结构体嵌套结构体 结构体中的成员可以是另一个结构体
8.6结构体做函数参数 作用:将结构体作为参数函数中传递
传递方式:值传递,地址传递
8.7 结构体中的const 使用场景 :用const来防止误操作