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 的类型相同

补充

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

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

坑~~~~~~~~ 大坑

相关推荐
zyl76511 小时前
FlashAttention 详解:从 GPU 硬件、普通 Attention 到分块计算与 Online Softmax
算法
爱读书的小胖14 小时前
LeetCode 122:买卖股票的最佳时机 II(C)解题分析
算法
结局无敌14 小时前
React Native for OpenHarmony 实战:三方库 react-native-modal-dialog 的鸿蒙化适配指南
深度学习·算法·react native·react.js·harmonyos
WJ.Polar15 小时前
Java封装、继承、多态
java·开发语言
摇滚侠15 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
OPEN-F15 小时前
ROS2系列教程:上位机建图与导航(原理综合)
算法·机器人
weixin_3077791315 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
AI wins15 小时前
c++新增頭文件
c++
Shadow(⊙o⊙)15 小时前
仿muduo实现高并发服务器——事件就绪管理Channel.hpp
服务器·c++
爱读书的小胖15 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言