快捷搜索: 王者荣耀 脱发

指针 地址在内存中的储存

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>

#if(0) 32位的地址在内存中有32条线(物理意义) 每条线通电后把电信号转化为数字信号(正电为1负电为0) 所以按二进制表示,内存中就有2^32个bite位=512mb 规定:每1个字节表示一个地址 如int类型占4个字节 就输出第一个字节的地址来表示整个int类型的数的地址 #endif

int main() { int a = 10; int* pointer_1 = &a;//&是取地址符,用pointer_1来接收地址,叫做指针 用int*来定义指针 *表示指针 int表示指针所指的地址中的值的类型 *pointer_1 = 20;//*叫做解地址符号,用来读取地址中的数,可以通过直接修改地址中的值来修改a的值 printf("%d", a);//20

//指针在内存中所占的大小: //指针在内存中所占的大小和处理器,系统,编译器的位数有关,32位的机器所占的大小就是 4字节,无论是多大的类型(long long)都输出最低位的地址作为这个数的地址; //32位占4字节 64位占8字节 printf("%d", sizeof(int));//4 printf("%d", sizeof(int));//4 }

经验分享 程序员 微信小程序 职场和发展