1,地址的理解:
系统内存的储存空间,以字节为单位一个一个编号;地址的编号就是字节在内存中的编号。
2,变量值和变量地址的理解:
short a = 10;
变量名是a,变量的类型是short,变量的值是10,变量的地址是“&a”;
系统分配一个2byte的空间,空间名字叫做变量a,空间地址是这个空间的起始字节的编号。
在空间里写入一个值10,
地址值:分配空间后空间的起始字节编号(编号是系统规定的),
变量值:分配空间后,往空间里写入的值。
访问空间的方式:
通过变量名访问:a=10;
通过地址值访问:&a;
3,指针的理解:
int *p
变量名:p
变量名的类型: int *
描述:这是一个可以存地址数据的变量---指针变量
4,指针运用:定义一个变量a,定义一个指针变量b,a的值等于10,将a的地址值赋给指针b;
int a;
int *b;
int a=10;
b = &a;
5,指针变量的类型
int *p 指针变量 存储整型变量;
short *p 指针变量 存储short类型变量;
char *p 指针变量 存储char类型变量;
6,p= &a
指针变量p储存了变量a的地址,也可以描述为指针p指向了a
7,值传递:
父函数中的实参的数据拷贝到子函数中的形参,不能改变实参的值
地址传递:
父函数中的实参的地址传入到子函数中的形参,子函数可以通过地址编号改变实参的值
8,如何确定值传递和地址传递
只是需要在父函数中的变量值,并不需要改变变量的本体,使用值传递
需要使用父函数中的变量,并需要修改变量本体,使用地址传递。
地址传递时需注意,形参的参数是指针变量,函数定义中拿到的数据要用取内容符“*”,函数调用要传实参地址。