已采纳回答 / onemoo
函数本身代码的地址并不在栈中,它们在代码段中。函数调用时才会将参数和各种用到的变量以栈帧结构存在栈中,这会使栈依照调用顺序来增长。所以参数的压栈地址可以说明它们的调用顺序。
2015-09-16
已采纳回答 / onemoo
str2="world" 这样并不是把world这几个字符复制到str2所指的区域,字符串字面量做右值时会转换为指向首字符的指针,所以这语句是把str2指向“world”这个字符串所在的位置。需要复制字符串应使用LS说的strcpy函数。一般程序会把字符串字面量放到只读数据段中(无法被修改),所以后续通过str2来修改这些内容会引起"段错误"。你代码的另一个问题是,在你给str2第二次赋值后就丢掉了前一次分配的指针,导致无法回收那段内存,引起内存泄漏。
2015-09-02
最赞回答 / GentleRunn_0
请注意32是“地址”总线的宽度,即可以寻址的地址个数是2的32次方个,而计算机中以字节位单位存储和解释信息,每个地址(即每个门牌号)指示的空间是一个字节B(即每个门牌号指示的房间大小是一个字节B),那么就是2的32次方个B的房间
2015-08-26