 |
str是一个char型指针,指针的大小为4个字节,所以sizeof(str)返回4是正确的。至于你给这个指针所指的区域分配了多大的内存是无法用sizeof得到的。
jimmyxu的意见:
这100个字节所占的空间不一定是连续的,不像char str[100]的所占空间是连续的。如果这个时候,你取sizeof(str) ,你会得到100。这也是获取数组大小的常用方法。
相关问题:
QA004099 "用new 分配了10个字节,可是用strlen(_str)检查发现它的空间是大于10"
QA004889 "发现所分配的空间不够的时候,如何重新分配"
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 其他方面, 。
|