在C语言中,sizeof
是一个运算符,用于计算数据类型或对象所占用的内存大小(以字节为单位)。sizeof
可以用于指针类型,但需要注意的是,它返回的是指针本身所占用的内存大小,而不是指针所指向的数据类型的内存大小。
sizeof(*ptr)
和sizeof(struct)
之间的区别在于,它们所计算的数据类型不同。
sizeof(*ptr)
计算的是指针所指向的数据类型的内存大小。例如,如果ptr
是一个指向int
类型的指针,那么sizeof(*ptr)
将返回4
(假设int
类型占用4个字节的内存)。
sizeof(struct)
计算的是结构体类型的内存大小。例如,如果定义了一个名为Person
的结构体类型,包含name
和age
两个成员,那么sizeof(Person)
将返回Person
结构体所占用的内存大小。
总之,sizeof(*ptr)
和sizeof(struct)
之间的区别在于,前者计算的是指针所指向的数据类型的内存大小,后者计算的是结构体类型的内存大小。
领取专属 10元无门槛券
手把手带您无忧上云