我理解 unsigned 和 unsigned int 之间的区别。但我的问题有点不同。
我正在 ioremaping(linux) 一个特定的内存,我想读取内存。我做了以下事情:
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]);
}
我想知道这是否是一种好的编程习惯(平台无关代码??)。如果是,请说明原因。