指针是什么?
指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,在同一CPU构架下,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。
int main()
{
int a = 10;// a占4个字节
int * pa = &a; //拿到的是a的4个字节中的第一个字节的地址
*pa = 20;
return 0;
}
*pa就代表a的地址,所以最后a的值为20。
总结:指针就是变量,用来存放地址的变量(存放在指针中的值都被当成地址来处理)
指针的大小:
在32位平台中是4个字节,在64位平台中是8个字节。(32位是由32个0,1构成的二进制序列,32个byte为4个字节)
指针和指针类型:
1,指针类型决定了:指针解引用的权限有多大(整型指针解引用能访问4个字节,字符指针解引用能访问