Ami*_*mar 2 c
我正在阅读其中一个实现,找出变量的大小而不使用sizeof()以下是实现
int i = 1; size_t size = (char*)(&i+1)-(char*)(&i); printf("%zi\n", size);
但我不明白为什么varibale i的地址类型被转换为(char*)而不是(int*).
任何一个可以帮助我理解这种类型的种姓是如何工作的吗?
Bat*_*eba 8
该类型转换(char*)意味着差额,计算char 指针运算.所得size然后将在单位char(即字节),这是一个自然单元sizeof.
(char*)
char
size
sizeof
归档时间:
11 年,10 月 前
查看次数:
121 次
最近记录: