一、指针(预备知识)
1.指针的基本概念

链表是由指针一个个接起来的

地址:
内存单元的编号
从0开始的非负正数
范围:0-FFFFFFFFF【0-4G-1】
指针:
指针就是地址 地址就是指针
指针变量是存放内存单元地址的变量
指针的本质是一个操作首先的非负整数
分类:
1.基本类型的指针
2.指针和数组的关系



p保存了i的地址

由此可知j = *p之前

必须将p指向某个整型地址
p代表地址,*p代表指针变量内部的值
2.内存的知识


也就是说一个内存地址是8bits



如何利用形参来改变局部变量的值?

如图 ,第一个f是无法改变main函数中i的值的
第二个则可以,因为使用了指针,*p的值可以直接修改i的值


3.指针与数组的关系


tips:


根据程序可得出a[1]a[2]a[3]的起始地址
由于int型变量占用四个字节,所以002AFE98-002AFE9B都分配a[1]了
tips2:

占用的字节数可以推测出他们的取值范围,int占4个字节,即32位,由于int有正负,所以它的取值范围各分一半,为-2^31^
~ 2^31^

tips3:
%d是以整型的格式输出,%p是以指针的格式输出


3.指针占几个字节?

double类型的变量占用了8个字节,也就是占用了内存8个地址
而p存放的是x的首个地址(也可能是最后一个)
指针变量只占4个字节,注意64位系统占8个
先·
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!