C 什么';(int)sizeof(void*)和int之间的区别是什么?
我只是C编程的初学者。 我能问一个简单的问题吗?C 什么';(int)sizeof(void*)和int之间的区别是什么?,c,int,sizeof,void,C,Int,Sizeof,Void,我只是C编程的初学者。 我能问一个简单的问题吗? (int)sizeof(void*)和int之间有什么区别 ex) 一个是类型,另一个是返回类型大小的表达式。一个是类型,另一个是返回类型大小的表达式。第一种情况用作int的别名,因此可以使用ptrint而不是int 第二种情况是指针的大小(以字节为单位)。例如,在32位系统上,它将返回4 ptrint a = 8; ptrint b = a; int sizeofptr = PTRINT; 第一种情况充当int的别名,因此可以使用ptrin
(int)sizeof(void*)
和int
之间有什么区别
ex)
一个是类型,另一个是返回类型大小的表达式。一个是类型,另一个是返回类型大小的表达式。第一种情况用作int的别名,因此可以使用ptrint而不是int 第二种情况是指针的大小(以字节为单位)。例如,在32位系统上,它将返回4
ptrint a = 8;
ptrint b = a;
int sizeofptr = PTRINT;
第一种情况充当int的别名,因此可以使用ptrint而不是int 第二种情况是指针的大小(以字节为单位)。例如,在32位系统上,它将返回4
ptrint a = 8;
ptrint b = a;
int sizeofptr = PTRINT;
((int)sizeof(void*)是一个值(取决于您的系统和编译器实现),int是一个类型。((int)sizeof(void*)是一个值(取决于您的系统和编译器实现),int是一个类型。使用ptrint,您只需定义一个新类型,它只是int的别名,例如:
ptrint a;
a = 5;
printf("%d",(int) a); // all this is ok.
使用PTRINT,您可以定义一个整数常量,该常量将包含系统上void*指针的大小。例如:
printf("Size of a void* pointer is %d\n",PTRINT); // will work.
PTRINT a; // will fail
使用ptrint,您只需定义一个新类型,它只是int的别名,例如:
ptrint a;
a = 5;
printf("%d",(int) a); // all this is ok.
使用PTRINT,您可以定义一个整数常量,该常量将包含系统上void*指针的大小。例如:
printf("Size of a void* pointer is %d\n",PTRINT); // will work.
PTRINT a; // will fail
谢谢你的回答。我能再问一个问题吗?(void*)的大小是多少?@user573566指针的大小可能因平台而异。在32位平台上通常为4字节(32位),在64位平台上通常为8字节(64位)。谢谢您的回答。我能再问一个问题吗?(void*)的大小是多少?@user573566指针的大小可能因平台而异。在32位平台上,它通常是4个字节(32位),而在64位平台上,它通常是8个字节(64位)。谢谢您的回答。:)谢谢你的回答。:)谢谢你的回答。:)谢谢你的回答。:)谢谢你的回答。:)谢谢你的回答。:)