84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
我用的工具是CFree套了个gcc的壳,写代码的时候偶然发现,sizeof指针是字节,而long是4字节。
且跑一个malloc最大申请空间代码的测试程序得到结果是1.99g,所以说明这个程序应该还是32位的程序,
那么为什么指针的sizeof是8个字呢 ?
学习是最好的投资!
int long short具体多少字节都是implement defined ,具体多少看编译器实现,没有绝对的多少,只有同一个编译器才保证大小一致
如果要sizeof指针的话,确保你用的是sizeof(void*)
sizeof(void*)
MinGW是LLP64,long就是32位。
注意你malloc的时候,参数使用signed int表示时,那么在你申请2Gb内存的时候,有可能把一个超过2^31的数放进了signed int,数据溢出导致malloc失败,你应该使用size_t
如果你好奇你的程序是多少位,可以打开任务管理器,32位的进程后面会有*32的标记
int long short具体多少字节都是implement defined ,具体多少看编译器实现,没有绝对的多少,只有同一个编译器才保证大小一致
如果要sizeof指针的话,确保你用的是
sizeof(void*)
MinGW是LLP64,long就是32位。
注意你malloc的时候,参数使用signed int表示时,那么在你申请2Gb内存的时候,有可能把一个超过2^31的数放进了signed int,数据溢出导致malloc失败,你应该使用size_t
如果你好奇你的程序是多少位,可以打开任务管理器,32位的进程后面会有*32的标记