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"

坑~~~~~~~~ 大坑

相关推荐
Mr.Jessy1 小时前
JavaScript高级:构造函数与原型
开发语言·前端·javascript·学习·ecmascript
云栖梦泽3 小时前
鸿蒙应用签名与上架全流程:从开发完成到用户手中
开发语言·鸿蒙系统
爱上妖精的尾巴4 小时前
6-4 WPS JS宏 不重复随机取值应用
开发语言·前端·javascript
fie88895 小时前
NSCT(非下采样轮廓波变换)的分解和重建程序
算法
小鸡吃米…5 小时前
Python 列表
开发语言·python
kaikaile19956 小时前
基于C#实现一维码和二维码打印程序
开发语言·c#
晨晖26 小时前
单链表逆转,c语言
c语言·数据结构·算法
我不是程序猿儿6 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#
rit84324996 小时前
C# Socket 聊天室(含文件传输)
服务器·开发语言·c#
kk哥88996 小时前
C++ 对象 核心介绍
java·jvm·c++