A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {
    @autoreleasepool {

//      C -----------------------------------------
        int a=3,b=1;

        //常量指针
        int const *p1=&a;

        //指针常量
        int *const p2=&b;

         NSLog(@"p1=%d p2=%d a=%d b=%d",*p1,*p2,a,b);

        //改变指针   将p1指向a p1指针变量存的地址改变 b的地址改为a的地址
        p1=&b;

        NSLog(@"p1=%d p2=%d a=%d b=%d",*p1,*p2,a,b);

        //改变变量
        *p2=5;    // p2 指针变量存的地址不变 改变的是p2指的变量的值
        NSLog(@"p1=%d p2=%d a=%d b=%d",*p1,*p2,a,b);

//      OC------------------------------------------

        NSString *str = @"abc";
        NSString *str2=@"123";

        NSLog(@"str的地址:%p 指向变量的地址:%p 指向变量值:%@",&str,str,str);


        NSLog(@"str2的地址:%p 指向变量的地址:%p 指向变量值:%@",&str2,str2,str2);

        NSString const * strp=str;

        NSLog(@"strp=%@  str=%@  str2=%@",strp,str,str2);

        strp=str2;

        NSLog(@"strp=%@  str=%@  str2=%@",strp,str,str2);

        //在oc中NSObject类型指针常量赋值 无法改变常量
        NSString *const strp1=str2;

        NSLog(@"strp1=%@  str=%@  str2=%@",strp1,str,str2);

        str2=@"xyz";

        NSLog(@"strp1=%@  str=%@  str2=%@",strp1,str,str2);
    }
    return 0;
}

评分

参与人数 4黑马币 +14 收起 理由
赖丽霖老师 + 3
钟国昌 + 4 赞一个!
寰宇天侠 + 4 很给力!
黑人奥巴马 + 3 赞一个!

查看全部评分

3 个回复

倒序浏览
签到咯
回复 使用道具 举报
mark以下
回复 使用道具 举报
不错!谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马