-
2个2G内存条=一个4G内存条效果
32bit的计算机最多插4G内存条
32位地址总线=32位寻址空间
32位指的就是门牌号最多32位
查看全部 -
一个十六进制的数字可以表示4位二进制的数字
查看全部 -
gcc -g main.c -o main.out
查看全部 -
gdb是Linux下的一个工具,可以通过gdb这个调试工具查看内存中的数据
查看全部 -
&表示取地址符
查看全部 -
指针类型: *变量名
取地址符:&
查看全部 -
C语言学习查看全部
-
C语言中int为4字节,所以地址的定义为(以int为例):以4个字节中的第一个字节作为地址
查看全部 -
定义数组的时候中括号内不能是变量i 。
(gdb)x/3d (十进制输出) 0x7ffffffffde14 (从de14开始显示)
x/ :显示多个地址命令 3 :显示3个地址 d :十进制输出变量数值 0x???表示从当前地址开始显示数值
如果 3 变为 4567 甚至更多的话,要注意不能够越界——超过定义的变量个数(类似于数组)
查看全部 -
CPU用地址总线寻址,32 位操作系统的地址总线是32位,也就是寻址空间是32位
有多少地址总线,就有多少种状态,就能寻找和使用多大的内存
32位 操作系统就有 2^32 个地址总线和状态
32bit CPU: 2^32 bit == 4GB
64bit CPU: 2^64 bit == 4GB*4GB == 4TB*4MB == 16PB*1K == 16EB
在64位操作系统中 前48位是系统分配给用户的,后面是系统自用
64bit 中 16进制位 表示程序可使用的内存< 0x7fffffffffffffff
其它的进制位直接给操作系统> 0x7fffffffffffffff - 0xffffffffffffffff
程序使用的内存分为(低到高)
最低位:代码段---加载代码指令:主函数和子函数
数据段---全局变量 或 常量 const
数据段和代码段一般是操作系统规划好了的
堆
动态可分配内存:越大用户可调用的资源就越大
栈:依次顺序执行函数,从主函数开始向下执行
最高位:操作系统内核
查看全部 -
#include
查看全部 -
#include<stdio.h>
void change(int *a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
int main()
{
int a=5,b=3;
change(&a,&b);
printf("%d %d",a,b);
return 0;
}
初识指针,调用函数交换a和b的值
查看全部 -
正整数转成二进制,除二取余,然后倒序排列,高位补零。将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就可以。查看全部
-
二进制:正整数转成二进制,除二取余,然后倒序排列,高位补零。将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就可以。查看全部
-
二进制:正整数转成二进制,除二取余,然后倒序排列,高位补零。将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就可以。查看全部
举报