int var之间的区别var和& var

时间:2010-09-20 11:52:55

标签: iphone objective-c

嗨,伙计们,

这是一些代码

 NSString *uid = [[UIDevice currentDevice] uniqueIdentifier];
 gameUniqueID = [uid hash];
 NSLog(@"gameUniqueID %d",gameUniqueID);
 NSLog(@"&gameUniqueID %d",&gameUniqueID);

输出

gameUniqueID -1386422508
&gameUniqueID 1386832

这是怎么回事?我虽然他们会是一样的。

2 个答案:

答案 0 :(得分:2)

& gameUniqueID是一个指针,所以你应该使用%p而不是%d来在NSLog中输出它。

此外,hash返回一个NSUInteger(unsigned int),你应该使用%u,而不是%d。

答案 1 :(得分:1)

&gameUniqueID是变量gameUniqueID的地址。