0

我在这个主题上搜索了一下,但我真的找不到任何有用的东西。这是我感到困惑的代码:

const char *beginning = "Love";
NSLog(@"%s", beginning); //Love
NSLog(@"%d", (NSInteger)beginning); //14687

是什么(NSInteger)beginning意思?为什么输出14687?

谢谢。

4

1 回答 1

3

您不是将字符转换为 NSInteger,而是将指向字符数组的指针转换为 NSInteger。该值是指向该字符数组的指针的值。

有关 C 中指针和数组的教程,请参阅此链接

http://pw1.netcom.com/~tjensen/ptr/pointers.htm

于 2012-10-21T06:27:39.730 回答