unsigned 是等于 unsigned int

在 C/C++ 里,unsigned 单独写时,等价于 unsigned int

所以,unsigned 就是 unsigned int 的简写 ,但只适用于 int 类型。

c 复制代码
unsigned x;     // 等价于 unsigned int x;
unsigned int a;     
c 复制代码
#include <stdio.h>

#define SAME_TYPE(a, b) _Generic(a, __typeof__(b): 1, default: 0)
int main(){
    unsigned x = 2;     // 等价于 unsigned int x;
    unsigned int y = 2;
    if(x == y){
        printf("x == y\n");
    }else{
        printf("x != y\n");
    }

    if (SAME_TYPE(x, y)) {
        printf("x 和 y 的类型相同\n");
    } else {
        printf("x 和 y 的类型不同\n");
    }
    return 0;
}   

执行结果

c 复制代码
x == y
x 和 y 的类型相同

补充

这是语言标准规定的"简写"形式,其他类型(如 shortlonglong long)都不能这样省略关键字:

c 复制代码
unsigned short y;   // 不能写成 "unsigned y" 或 "short unsigned y"
unsigned long z;    // 不能写成 "unsigned z"

坑~~~~~~~~ 大坑

相关推荐
gjxDaniel2 分钟前
Kotlin编程语言入门与常见问题
android·开发语言·kotlin
范纹杉想快点毕业6 分钟前
状态机设计与嵌入式系统开发完整指南从面向过程到面向对象,从理论到实践的全面解析
linux·服务器·数据库·c++·算法·mongodb·mfc
fish-man9 分钟前
测试加粗效果
算法
坚定学代码19 分钟前
认识 ‘using namespace‘
c++
晓131322 分钟前
第二章 【C语言篇:入门】 C 语言基础入门
c语言·算法
jiang_changsheng23 分钟前
环境管理工具全景图与深度对比
java·c语言·开发语言·c++·python·r语言
LYOBOYI12330 分钟前
qml的对象树机制
c++·qt
yong999033 分钟前
MATLAB面波频散曲线反演程序
开发语言·算法·matlab
LeoZY_37 分钟前
开源项目精选:Dear ImGui —— 轻量高效的 C++ 即时模式 GUI 框架
开发语言·c++·ui·开源·开源软件
Fightting8838 分钟前
Tkinter Button bind hover message
开发语言·python