一、指针(预备知识)


 


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 协议 ,转载请注明出处!