我用的工具是CFree套了个gcc的壳,写代码的时候偶然发现,sizeof指针是字节,而long是4字节。
且跑一个malloc最大申请空间代码的测试程序得到结果是1.99g,所以说明这个程序应该还是32位的程序,
那么为什么指针的sizeof是8个字呢 ?
学习是最好的投资!
int long short의 특정 바이트 수는 정의되어 있습니다. 특정 수는 컴파일러 구현에 따라 다릅니다. 동일한 컴파일러만이 동일한 크기를 보장할 수 있습니다.
포인터 크기를 원할 경우 sizeof(void*)
sizeof(void*)
MinGW는 LLP64이고, long은 32비트입니다.
malloc을 할 때 매개변수가 signed int로 표현되면 2Gb 메모리를 신청할 때 signed int에 2^31을 초과하는 숫자를 넣을 수 있으며 데이터 오버플로로 인해 malloc이 실패할 수 있습니다. size_t를 사용해야 합니다
프로그램이 몇 비트인지 궁금하신 경우 작업 관리자를 열면 32비트 프로세스 뒤에 *32 표시가 있습니다
int long short의 특정 바이트 수는 정의되어 있습니다. 특정 수는 컴파일러 구현에 따라 다릅니다. 동일한 컴파일러만이 동일한 크기를 보장할 수 있습니다.
포인터 크기를 원할 경우
을 사용하세요.sizeof(void*)
MinGW는 LLP64이고, long은 32비트입니다.
malloc을 할 때 매개변수가 signed int로 표현되면 2Gb 메모리를 신청할 때 signed int에 2^31을 초과하는 숫자를 넣을 수 있으며 데이터 오버플로로 인해 malloc이 실패할 수 있습니다. size_t를 사용해야 합니다
프로그램이 몇 비트인지 궁금하신 경우 작업 관리자를 열면 32비트 프로세스 뒤에 *32 표시가 있습니다