相关疑难解决方法(0)

113
推荐指数
5
解决办法
7万
查看次数

如果bool是int的宏,为什么它的大小不同?

我希望有人可以解释原因

#include <stdbool.h>

printf("size of bool %d\n", sizeof(bool));
printf("size of int %d\n", sizeof(int));
Run Code Online (Sandbox Code Playgroud)

输出到

size of bool 1
size of int 4
Run Code Online (Sandbox Code Playgroud)

我已经看了http://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html这似乎表明,布尔本质上是_Bool宏,当设置为true或false,其实只是一个整数常量的宏.如果是整数,为什么它的大小不一样?

我问,因为我们花了太长时间来调试我们没有分配足够内存的程序.

c memory int boolean

6
推荐指数
1
解决办法
5787
查看次数

在C预处理器中为自己定义一些东西

我遇到了这些问题:

#define bool  bool
#define false false
#define true  true
Run Code Online (Sandbox Code Playgroud)

我不认为我需要说的不仅仅是"wtf?",而是要明确:为自己定义一些东西有什么意义?

这些行来自clang stdbool.h

c self-reference c-preprocessor

2
推荐指数
2
解决办法
396
查看次数

标签 统计

c ×3

c-preprocessor ×2

boolean ×1

int ×1

macros ×1

memory ×1

self-reference ×1

typedef ×1