小编dev*_*ahm的帖子

为什么C和C++中相同标识符的大小不同?

#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.

有人能解释为什么会有区别吗?

c c++ name-lookup

4
推荐指数
1
解决办法
310
查看次数

访问传递给realloc的指针

#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.有人可以解释这段代码的行为吗?

c

-3
推荐指数
1
解决办法
104
查看次数

标签 统计

c ×2

c++ ×1

name-lookup ×1