码迷,mamicode.com
首页 > 其他好文 > 详细

C关于指针的那点事

时间:2015-10-02 23:50:40      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:

一,场景一

  int arr[4] = {10, 20, 30, 40};

    int (*pp)[4] = &arr;

    int* p = (int*)(pp + 1);

    NSLog(@"%d", *(p-2)); // 结果:30

技术分享

 

二,场景二

    

    int arr[4] = {10, 20, 30, 40};

    int (*pp)[4] = &arr;

    double* p = (double*)(pp + 1);

    NSLog(@"%d", *(int*)(p - 2)); // 结果:10

    

    int arr2[2][4] = {

        {10, 20, 30, 40},

        {11, 21, 31, 41}

    };

    

    int (*pp2)[4] = &arr2[1];

    NSLog(@"%d", *(int*)pp2); // 结果:11

    

    double* p2 = (double*)pp2;

    NSLog(@"%d", *(int*)(p2 + 1)); // 结果:31

    

    int* p2p = (int*)(arr2 + 1);

    NSLog(@"%d", *(p2p - 3)); // 结果:20

 

技术分享

 

C关于指针的那点事

标签:

原文地址:http://www.cnblogs.com/iOS771722918/p/4852879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!