变量、内存、指针
1、一个变量需要使用一段连续的内存存放,内存中的二进制数,就是变量值。相同的二进制数,根据变量数据类型,表现为不同的变量值
2、可以声明一个变量代表这段内存,对这个变量赋值就是对这段内存写入数据,在表达式中使用这个变量就是从内存中读取数据
或者说“一个变量就是特定的一段内存”
3、指针,内存数据指针的简称
4、除了使用变量读写内存中的变量值外,在c语言中,还可以通过指针读写这些数据。这时指针指向这段内存的首字节地址。
5、只有首地址是不够的,还需要数据类型,用来指明要读写多少个字节;以及怎样把该类型的数据转换为可以写入内存的二进制数、怎样把读取到的二进制数转换为该类型的数据。
6、int * p_i_pointer ; 是指针变量声明语句
6.1 p_i_pointer 是一个指针变量
6.2 int是它的基类型,p_i_pointer 可以存放任意一个int类型变量的首字节地址。实际上,它可以指向(保存)内存中任意一个字节的地址。
6.3 &运算符,用于获取某个变量的指针
int i_age=18; p_i_pointer=&i_age;
这时p_i_pointer中保存了i_age这段内存的首字节地址,也就是指针变量值是i_age 的首字节地址; 基类型是int。
p_i_pointer只是当前值指向i_age
i_age则是始终代表存放它的那段内存
7、* 指针运算符 用于“使用指针(首地址和数据类型)存取数据”。(存取就是读写,存是写入、取是读取)。
*p_i_pointer 是按照int 类型,从p_i_pointer指向的内存中读取数据(指向:也就是之前保存的i_age 的首字节地址)