20.函数
(1)实参和形参
1)值传递:就是函数调用时,实参将数值传入给形参
2)值传递时,如果形参发生改变,并不会影响实参
3)使用&可以修改实参
(2)最好提前进行函数声明:声明可以多次,但是定义只能一次
(3)函数的分文件编写:让代码更加清晰
1)创建后缀名为.h的头文件
2)创建后缀名为.cpp的源文件
3)在头文件中写函数的声明
4)在源文件中写函数的定义
21.指针:通过指针间接访问内存
(1)指针的基本概念
1)内存编号从0开始记录,一般用十六进制数字表示;
2)利用指针变量保存地址
(2)指针变量的定义和使用
1)指针变量定义语法: 数据类型 *变量名;
2)&:取址符号 int a = 10; int * p; p=&a;(int *p = &a;)
*:解引用符号 a = *p;
(3)指针所占用的内存空间:指针也是一种数据类型
1)指针所占内存空间 sizeof(int *);sizeof(double *);
2)在32位操作系统下,不管什么数据类型,指针都占4个字节的空间大小
在64位操作系统下,不管什么数据类型,指针都占8个字节的空间大小
(4)空指针和野指针
1)空指针:指针变量指向内存中编号为0的空间(NULL)
用途:初始化指针变量
空指针指向的内存不可以被访问
0~255之间的内存编号是系统占用的,故而不可以访问
2)野指针:指针变量指向非法的内存空间
(5)const修饰指针
1)const修饰指针:常量指针
Const int *p =&a;
指针指向可以修改,但是指针指向的值不可以更改
2)const修饰常量:指针常量
Int * const p = &a;
指针指向不可以更改,但是指针指向的值可以更改
3)const既修饰指针,又修饰常量
Const int * const p =&a;
都不可以更改