考虑以下代码
int *i;
i=(int *)malloc(1);
*i=5;
printf("%d",*i);
输出:5
在上面的代码中,我请求malloc()
使用1
分配malloc(1)
字节的内存,但是整数类型。
int
的大小为4
个字节,但在上面的代码i
中只分配了1
个字节。
那么如何将5
存储在其中呢?
在阅读标记的问题后,我想知道
之间有什么区别 (int *)malloc(1)
和(int *)malloc(4)
除了在第一种情况下覆盖