cuo*_*tnk -2 c++ malloc sizeof
我用这两条简单的线条得到了一个奇怪的结果
char* reverse = (char*) malloc(sizeof(char)*19);
cout << sizeof(reverse)/sizeof(char) << endl;
Run Code Online (Sandbox Code Playgroud)
无论我放在第一行的数字(在这个例子中,它是19).我总是得到4作为输出.怎么了 ?谢谢.
在32位机器上,指针的大小是32位(4字节),而在64位机器上则是8字节.无论他们指向哪种数据类型,它们都具有固定的大小.
和
sizeof(char) = 1 byte
Run Code Online (Sandbox Code Playgroud)
所以,你每次都得到4,因为你的系统是32位机器.
| 归档时间: |
|
| 查看次数: |
399 次 |
| 最近记录: |