32位-32根地址线-物理线-通电-1/0 正负极
00000000000000000000000000000000
。。。。。
10000000000000000000000000000000
。。。
1111111111111111111111111111111111111
。。
电信号转换为数字信息:1和0组成的二进制序列
2的32次方个可能组合
char 1byte(比特)=8字节bit
2的32次方个内存单元,即4294 967 296bit/8=536870912个byte字节/1024=524288KB/1024=512MB/1024=0.5GB
#include<stdio.h>
int main()
{
int a=10;// a在内存中储存需要用到4个字节
printf("%p",&a);//p 用于打印地址
int*pa=&a;//pa是用来存在地址的,在c语言中pa叫做指针变量
//* 说明pa是指针变量
//int 说明pa执行的对象是int类型
return 0;
}
如果pa执行的对象类型是char 即为
#include<stdio.h>
int main()
{
char ch='w'; //单引号的为字符 char为字符类型
printf("%p",&a);
char*pa=&a; //char 说明pa执行的对象是char类型
return 0;
}
#include<stdio.h>
int main()
{
int a=10;// a在内存中储存需要用到4个字节
//p 用于打印地址
int *pa=&a;
*pa=20;//*解引用操作符,通过*pa中的地址找到a,并更改a为20
printf("%d",a);
return 0;
}
指针就是地址 即&a(4个字节)是把a存在p中,*pa就是地址,找到*pa就是找到a,*pa是地址是存放的数值,pa是指针变量
指针适用于来地址的,指针的大小取决于储存地址的大小
指针大小在32平台指针是4个字节 64平台指针是8个字节