比如如下代码:#include <stdio.h>int main(){ int a, b;
a = 10;
b = a;
}看网上说,b = a 是把a变量内存空间中的数据复制到b变量的内存空间中,是这样的吗?难道a和b的数据完全一样,也占两份内存空间吗?没有写时拷贝、a和b共用同一内存地址的说法吗?刚学C,不太明白,谢谢诸位
2 回答
largeQ
TA贡献2039条经验 获得超7个赞
main.c#include <stdio.h>int main() { int a, b; a = 10; b = a; printf( "addr: 0x%08x\n", &a); printf( "addr: 0x%08x\n", &b); printf( "size: %zd\n", sizeof(a));} [xxx@xxx]# ./a.outaddr: 0x68a28bccaddr: 0x68a28bc8size: 4
两个地址相差四个字节,显然不在同一个地址
- 2 回答
- 0 关注
- 900 浏览
添加回答
举报
0/150
提交
取消