一个字节一个地址,用户使用的只使用首地址。如下是硬盘(rom)的加载到内存(ram)的过程
指针与指针变量:指针是不同数据类型首个(头)字节的编号地址(相当于门牌号),而指针变量是计算机控制的一个变量,通过给这个变量(相当于服务员)在运行期间赋值完成访问(相当于运行期间赋予其门牌号,服务员拿到门牌号去访问对应房间)
计算机的32位指的是有32地址线,每个线路产生0\1序列,代表能索引内存地址的位数,也就是2的32次方个地址,最多能同时访问这么多个地址,一位是一比特。一个字节八个比特位,32位也就是4个字节,大概是512m内存。如果内存单位换成字节正好合适一个内存单元一个字节最合适。如果是64位那就是8个字节
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(){
int a = 10;
//专门存放地址的变量
int* p = &a;//*指示这是指针变量,int指代地址内的数据类型是int型
//取地址a打印a的地址
printf("%p\n",&a);
printf("%p\n", p);
*p = 20;//解引用操作符(间接访问操作符):通过变量p找到a地址里面的值。*p就是a
printf("%d\n", a);
printf("%d\n", *p);
printf("%d\n", sizeof(p));
printf("%d\n", sizeof(*p));
return 0;
}