我瞭解無符號和無符號整數的區別。但我的問題有點不同。(無符號*)優於(無符號整型*)解析內存?
我是ioremaping(linux)一個特定的內存,我想讀取內存。 我做了以下THIG:
func()
{
unsigned int *p;
p = (unsigned int *)ioremap(ADDR,8*sizeof(unsigned int));
for (i = 0; i <= 7; i++)
pr_err("p[%d] = %d", i, p[i]);
}
這完美的作品。但是我看到一個標準的代碼執行相同的操作,使用(unsidned *)而不是(unsigned int *)。那是p是unsigned *p
。
func()
{
unsigned *p;
p = (unsigned *)ioremap(ADDR,8*sizeof(unsigned));
for (i = 0; i <= 7; i++)
pr_err("p[%d] = %d", i, p[i]);
}
我想知道它是否是一個很好的編程習慣(與平臺無關的代碼??)。如果是,請說明原因。
「*我明白無符號和無符號整數的區別*」 - 您認爲它們有什麼不同? (除了拼寫外,沒有其他的)。你應該使用'%u'或'%x',而不是'%d'來打印無符號值。 –