一、指针(预备知识)
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 协议 ,转载请注明出处!