【发布时间】:2013-11-19 05:34:03
【问题描述】:
我对编程有点陌生。我有这个问题。我有一个变量
unsigned long address;
我正在使用
fscanf(pFile, "%x\n", &address);
从文件中读取此数据。该文件以十六进制(不带 0x)的形式将其转换为十进制并存储。所以我有点不愿意改变这部分。当我使用 g++ 编译时,它要求我将地址更改为
unsigned int address;
现在,这个“地址”变量用于我将调用的函数中,该函数的参数为“unsigned long”。所以,如果我“寻址”为“unsigned int”,我该如何调用这个函数
function(address);
这样地址被类型转换为无符号长
【问题讨论】:
-
问你怎么样?
-
它是这样的,虽然无法从终端复制确切的东西。警告:格式 %x 需要类型 unsigned inta,但参数 5 的类型为 long unsigned inta
-
@user2958473 现在试着考虑一下。这都是关于严格的别名。请参阅我的答案以获得解释。