在很多标准的开源代码中,我在不同的地方看到使用不同的指针类型,如:
uint32 fooHash (uint8 *str, uint32 len)
我没有得到以下内容: - 为什么要将int声明为uint32,uint8?所有这些都将在用户空间本身运行,那么为什么不留下自己呢?以后便携性不是一个问题吗?
指针的类型是指它包含的数据类型,而不是指针本身的大小.所有指针实际上都是相同的大小.([*]但请参阅下面的评论)
如果你有一个uint8*,那么指针引用一个uint8值数组.这与uint32*引用uint32值数组不同.
回答问题的另一面......明确这些类型的原因是因为并非所有编译器都同意a的大小int.这是一个便携性的东西.