最近已经学完了指针,关于指针,对于初学者来说不是很好理解,当你开始学习指针着一章节时,就应该动手画图了,可以帮助你更好的理解内存,一定要动手画图,因为在学习数据结构时,画图真的很重要,我用的是电脑自带的画图板,比较好上手,大家可以尝试一下。
指针和指针变量
指针
指针就是地址,是内存中最小单元的编号
我们口语中的指针其实是指 指针变量
总结:指针就是地址,口语中的指针就是指针变量
内存中的单元和地址编号
指针变量
指针变量是什么?
我们可以用&(取地址符)把一个变量的地址取出来,把这个地址存放到一个变量中,这个变量就是指针变量,即指针变量就是用来存放地址的
指针变量的大小
(指针)地址的产生
对于32位机器,会产生32跟地址线,地址线会产生高电压和低电压,高低压是1,低电压是0.那么32跟地址线就会产生32位二进制位,会产生2^32个地址,对于64位机器,会产生64跟地址线,会产生64位二进制位,则会产生2^64个地址
指针的大小
在32位的机器上,地址是32个0或者1组成二进制序列,那地址就得用4个字节的空间来存储,所以一个指针变量的大小就应该是4个字节。
在64位机器上,如果有64个地址线,那一个指针变量的大小是8个字节,才能存放一个地址。
总结:指针变量在32位机器(x86平台)上大小是4个字节,在64位机器(x64)上大小是8个字节
指针变量的使用方法
我们以代码为例
#include<stdio.h>
int main()
{
int a = 10;
int *p = &a;//p是一个指针变量,存放了a 的地址
return 0;
}
** **
总结:指针变量,用来存放地址的变量。(存放在指针中的值都被当成地址处理)。