我在这个主题上搜索了一下,但是我找不到任何有用的东西。这是我很困惑的代码:Typecast char as NSInteger
const char *beginning = "Love";
NSLog(@"%s", beginning); //Love
NSLog(@"%d", (NSInteger)beginning); //14687
(NSInteger)beginning
是什么意思?为什么它输出14687?
谢谢。
我在这个主题上搜索了一下,但是我找不到任何有用的东西。这是我很困惑的代码:Typecast char as NSInteger
const char *beginning = "Love";
NSLog(@"%s", beginning); //Love
NSLog(@"%d", (NSInteger)beginning); //14687
(NSInteger)beginning
是什么意思?为什么它输出14687?
谢谢。
您不是将一个字符转换为NSInteger,而是将一个指向字符数组的指针转换为NSInteger。 该值是指向该字符数组的指针的值。
参见指针和数组此链接教程用C
该值是指向该字符数组的指针的“值”?那是什么意思?你的意思是该值是指向该字符数组的指针的“存储单元”? – yeesterbunny
指针是存储单元地址的值。 - 是的!那种,你到达那里。 –
aaah我明白了,好的,谢谢! – yeesterbunny
我不是真的想“做”任何事情。只是玩弄代码haha – yeesterbunny