char c[] = "1234567890"; // 1234567890\0 存放在栈中?????
char *p ="1234567890"; // 1234567890\0 存放在堆中?????
访问栈中的内容比访问堆中的内容要快.
"1234567890"存放在常量区里。而对于第一条语句char c[] = "1234567890", 在运行时,"1234567890"将会被copy一份到stack中, 而对于第二条语句char *p ="1234567890","1234567890"还是在常量区中,只是p这个指针里存放的正是"1234567890"在常量区的首地址, p无法更改其值。
阅读(802) | 评论(1) | 转发(0) |