#include <stdio.h>
int T;
int main()
{
struct T { double x; };
printf("%zu", sizeof(T));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我在C中运行此代码,结果是4,而在C++中它是8.
有人能解释为什么会有区别吗?
#include <stdio.h>
#include <stdlib.h>
main()
{
int *p = (int *)malloc(sizeof(int));
int *q = (int *)realloc(p,sizeof(int));
*p = 3;
*q = 9;
if (p == q)
printf("%d %d", *p, *q);
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时它在GCC中打印9 9.有人可以解释这段代码的行为吗?