-
因为cpu的地址总线是32位,也就是寻址空间是32位,如果把内存地址比作一户人家的门牌号,那么32位的寻址空间可以给2^32户人家分配门牌号,而计算机中一个内存单位为1个字节,故而32位的操作系统只能使用2^32=(2^10)* (2^10)* (2^10)*( 2^2)=4G字节的内存,这样说应该很清晰了
查看全部 -
谈一些自己的理解,不一定对。
其实这里用 int* a 比用 int *a 好。
int* a 的意思表明这里声明的变量是 a,且变量类型是指针变量,而指针变量不同于普通变量,它可以存放内存地址。所以此处 a 中存放的是地址 &a (&是取址算符,&a 就是变量 a 在内存中的地址)。
而用 int *a 的话,第一感觉像是声明了一个整型变量,变量名为 *a,这个变量的性质跟普通的变量,比如 int b 中的 b,没什么区别,而实际并不是这样的。
查看全部 -
变量只是一个名称,来表示一个内存的地址的简称,(变量就是内存)
而指针则是将变量(对于我们)与地址本质的转化,
更利于理解。
形象比喻:内存是一个酒店,每个变量就是房间的门牌,通过指针对门牌来找到地址,从而取得里面的东西。
查看全部 -
C语言语法不允许我们直接操作代码段;
变量的本质是什么?
变量名只是一个代号,变量的本质就是内存;
指针保存的是内存地址;
查看全部 -
c语言语法不允许用户直接操作代码段。
变量的本质是什么?
变量名只是一个代号,变量的本质就是内存。
指针变量保存的就是内存地址,指针的本质就是地址。
查看全部 -
局部变量:1、在函数里面有效
2、在自己的函数栈里面才有的值
全局变量:1、所有函数公用的
2、修改全局变量呗调用的变量都会发生变化
查看全部 -
16进制,9后面是A,0xf后面是10查看全部
-
enum 枚举类型名{
枚举常量1,枚举常量2,......};
注意:
枚举常量之间用逗号隔开,最后一个枚举常量之后不需要逗号。
整个枚举类型定义语句的最后需要一个分号。
在没有显式说明的情况下,枚举类型中的第一个枚举常量的值为0,第二个为1,以此类推。如果只指定了部分枚举常量的值,那么未指定值的枚举常量的值将依着最后一个指定值向后递增(步长为1)
不同枚举类型中的枚举常量的名字必须互不相同。同一枚举类型中的不同的枚举常量可以具有相同的值。
1、定义枚举类型后声明枚举变量
2、定义枚举类型的同时声明枚举变量
3、定义枚举类型的同时利用typedef关键字将其声明为类型别名,然后利用该类型别名声明枚举类型变量
查看全部 -
取地址符&,在方法里传参数用查看全部
-
&取地址符查看全部
-
GDB查看内存查看全部
-
代码段也有自己的地址
查看全部 -
变量的本质是内存
指针本质上就是地址
查看全部 -
在程序中,使用一个未声明变量的地址,改地址里面的值是随机的。C语言没有对地址的合法性进行检查。查看全部
-
变量标记了一个地址和空间,但是不具体的设定其内存的内容.
查看全部
举报