初始指针:
一.内存
计算机中所有的程序都在内存中进行 (空间的使用,内存的使用)
现实生活中找到相应的空间是通过地址
相同的内存相应的地方也需要地址
1,内存是如何编号的?
2.一个内存单元是多大的空间?
32位——32根地址线——物理线——通电——1/0之分 (64位)
1是正电 0是否点 电信号就转换成数字信息:1 0 组成的二进制
一个内存单元是一个字节byte
为什么32位机器内存是4G:
因为一个内存单元的大小是一个字节
而一共有2的32次方种2进制情况
2的32次方/1024 =kb
/1024=mb
/1024=gb 相当于2的32次方连续➗3个1024 最后等于4
所以32位机器的罪罚内存是4G
二.指针的大小
这里是64位机器显示的是8(64/8).如果是32位机器,显示的就是4(32/8).所以无论什么形式的指针,内存大小都是一样的。
三.指针的书写格式
int main()
{
int a = 10;
printf("%p\n", &a);//%p是打印地址 pa是用来存放地址,在C语言中叫做指针变量
//int * pa (*说明pa是指针变量 int说明pa指向的对象是int类型的
return 0;
}
int main()
{
int a=10;
int * pa=&a;
return 0;
}
其实指针是一个变量
int a=10;
int *pi=&i;
这里的a 和*pi的地位是一样的 ,都是一个变量,因此 *pi也需要一个内存空间,也有自己的地址(未来还涉及到2级地址)
(此图并非原创,若有侵权,请联系删除)
此图来源于下面链接。
C/C++指针详解之基础篇(史上最全最易懂指针学习指南!!!!)_尘海折柳的博客-CSDN博客_c++指针详解