2012-10-21 62 views
0

我在這個主題上搜索了一下,但是我找不到任何有用的東西。這是我很困惑的代碼:Typecast char as NSInteger

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

(NSInteger)beginning是什麼意思?爲什麼它輸出14687?

謝謝。

+0

我不是真的想「做」任何事情。只是玩弄代碼haha – yeesterbunny

回答

3

您不是將一個字符轉換爲NSInteger,而是將一個指向字符數組的指針轉換爲NSInteger。 該值是指向該字符數組的指針的值。

參見指針和數組此鏈接教程用C

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

+0

該值是指向該字符數組的指針的「值」?那是什麼意思?你的意思是該值是指向該字符數組的指針的「存儲單元」? – yeesterbunny

+0

指針是存儲單元地址的值。 - 是的!那種,你到達那裏。 –

+0

aaah我明白了,好的,謝謝! – yeesterbunny