关闭

Objective-C 中声明指针变量时 星号( *)如何安放 居左or居右

标签: Objective-c 星号 左右
305人阅读 评论(0) 收藏 举报
分类:

这里先举一个例子 

    NSString *str1 = @"str1";
    NSString* str2 = @"str2";

这两个编译器都可以通过,都是正确的,那么这个烦人的星号到底需要放在那里?


那就得先说说这个星号 * 存在的意义了

* 代表着要访问某一个地址中的数据,或者可以理解为返回值是指针类型的数据,

所以基础变量时不需要加 * 的,就像

    int i = 0;
    int j = 1;

下面把上面的例子拆开来分析一下:

NSString    代表通知编译器内存中的数据类型

   str1         是一个指针既这块内存的地址

  *str1         代表取出str这个内存地址中的数据

反之 NSString* 则没有什么实际意义(如果认为是指向NSString类型的指针未免有些强词夺理)


所以大多数人还是喜欢写成

    NSString *str = @"str";

这样写才能说得通。

还有一个办法可以通过xcode检测一下

    NSString str = @"str";

xcode 会提示错误的,不仿看一看xcode怎么提示的吧 (-:

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:73682次
    • 积分:1623
    • 等级:
    • 排名:千里之外
    • 原创:92篇
    • 转载:0篇
    • 译文:0篇
    • 评论:42条
    我在这里

    GitHub


    微博
    博客专栏