在未指定类型的情况下进行无符号铸造

问题描述 投票:0回答:1
#include <stdio.h>

int main(){
  ssize_t a= -1;
  size_t b = (unsigned)a;
  return 0;
}

a是全部设置为1的8个字节,但是当不做适当的b而将其转换为unsigned时,(unsigned size_t)变成4个字节的数字,为什么?为什么它不变成8字节无符号变量?

c casting unsigned size-t
1个回答
0
投票

[unsigned是写作unsigned int的简称,所以unsignedunsigned int是同一类型。

unsigned size_t不存在; size_it已经

© www.soinside.com 2019 - 2024. All rights reserved.