相关疑难解决方法(0)

char默认是签名还是未签名?

在"C的完整参考"一书中,提到char默认情况下是无符号的.

但我试图用GCC和Visual Studio验证这一点.它默认签名.

哪一个是正确的?

c signed types char

145
推荐指数
5
解决办法
8万
查看次数

是否未定义行为抛弃函数参数的常量?

想象一下,我有这个C函数(以及头文件中的相应原型)

void clearstring(const char *data) {
    char *dst = (char *)data;
    *dst = 0;
}
Run Code Online (Sandbox Code Playgroud)

有未定义行为在上面的代码,铸造const,或者是它只是一个非常不好的编程习惯?

假设没有使用const限定对象

char name[] = "pmg";
clearstring(name);
Run Code Online (Sandbox Code Playgroud)

c casting const undefined-behavior language-lawyer

15
推荐指数
1
解决办法
1510
查看次数

标签 统计

c ×2

casting ×1

char ×1

const ×1

language-lawyer ×1

signed ×1

types ×1

undefined-behavior ×1