最赞回答 / 小雾3378873
"32位计算机是有2的32次方种状态" 引用提问者的话,答:32位计算机能给系统分配2的32次方个内存地址,注意这里说的是“内存地址”,也就是每个内存的门牌号码。换句话说,32位操作系统给内存编号只能编到32个二进制位,能组合成2的32次方个状态或地址。因为内存是按字节寻址的,即每个地址对应一个字节,这是规定好的,或者说是硬件限制的你的问题是把内存地址与内存空间搞混了,内存地址是门牌号码,内存空间相当于一个小房子,一个小房子对应一个门牌号码(地址),一个小房子占用一个字节的内存空间,那32位操作系统能分配...
2016-12-21
最赞回答 / 眼睛愛笑
因为你的程序里没有定义数组里第四第五个的变量的值。那么当程序运行到第四第五个的时候 ,程序要读取数组中第四第五个数所在的内存位置,然而你的代码中没有给他们赋值,那么那两个内存位置储存的数是别的程序运行后残留的数据,是程序员不可控的。
2016-12-12
最新回答 / qq_极度嚣张_04306957
//赋值一个,多个赋值则用for循环int i = 3;int *p = &i;int str[10] = {0};str[0] = *p;
2016-11-16
最赞回答 / wangxiaopo4288577
我就用俗话说吧,不科学,但容易懂。为什么是1024,而不是1000?其实数字1024,用二进制表示的结果为:10000000000不信你用带二进制的计算器转换一下就知道了。2的10次方也是1024所以U盘的容量,是1M,2M,8M,16,32,64,128,256,512,1024(1G),2G,4G.....的倍数关系,也相当于是2的倍数。还有就是Byte和bit,俗称大B和小b的区别(谁大谁小看名字就知道了吧)一个小b只能代表一个内容,(0或者1,其中的一个)两个小b可代表4个内容"2的2次方“(00...
2016-10-26
最新回答 / qq_L_36
我的理解不知道对否,有问题还望提出以便改正。str(指针常量)的内容是一个固定的地址,而str是这个地址的名字,它被存放在&str下,也就是栈里。即栈里存放的是str,str里存放的是指针常量。hello是否是常量取决于它赋给谁,赋给字符指针变量时因为没有分配空间所以就会放在常量区当作常量,赋给数组时分配了空间,这个空间是系统在栈里分配的。
2016-10-06