zoukankan      html  css  js  c++  java
  • 指针数组和数组指针分析

    //指针数组和数组指针分析
    #include <stdio.h>
    int main(int argc, char *argv[])
    {
        int a[8][8] = {1,2,3,4};
        int (*ptr1)[8]    = a ;
        int (*ptr2)[8][8]  = &a;
        int *ptr3        = &a[0][0];  
        printf(" &a[0][0]       = %#x
    " , &a[0][0]);     //指向数组的第一个元素的地址
        
        printf(" ptr1         = %#x
    " , ptr1);             //A、指向一纬数组第一个元素首部
        printf(" &a[0]        = %#x
    " , &a[0]);            //同上A
        
        printf(" ptr1+1       = %#x
    " , ptr1+1);            //B、指向一纬数组第二个元素首部 = A+4*8
        printf(" &a[0]+1      = %#x
    
    " , &a[0]+1);        //同上B
        
        printf(" ptr2         = %#x
    " , ptr2);            
        printf(" &a           = %#x
    " , &a);
        printf(" ptr2+1       = %#x
    " , ptr2+1);
        printf(" &a+1         = %#x
    
    " , &a+1);
        //ptr2的解释就是:一个指向二维数组[8][8]的指针,
        //那么ptr2+1则是偏移了一个二维数组[8][8]的地址,即为4*8*8=256(0x100)个字节的偏移
        
        printf(" ptr3        = %#x
    " , ptr3);            
        printf(" &a[0][0]    = %#x
    " , &a[0][0]);
        printf(" ptr3+1      = %#x
    " , ptr3+1);
        printf(" &a[0][0]+1  = %#x
    
    " , &a[0][0]+1);
        //int *ptr3 = &a[0][0];这个毫无疑问,是将数组a的首元素地址赋给指针ptr3,
        //由于是int型数组,那么ptr3+1则是偏移一个int型大小,即偏移4个字节.
        return 0;
    }
    //结果是:
    /*
     &a[0][0]       = 0x28fde4
     ptr1           = 0x28fde4
     &a[0]          = 0x28fde4
     ptr1+1         = 0x28fe04
     &a[0]+1        = 0x28fe04
     ptr2           = 0x28fde4
     &a             = 0x28fde4
     ptr2+1         = 0x28fee4
     &a+1           = 0x28fee4
     ptr3           = 0x28fde4
     &a[0][0]        = 0x28fde4
     ptr3+1          = 0x28fde8
     &a[0][0]+1      = 0x28fde8
    */
  • 相关阅读:
    Redis的安装与使用
    jQuery操作input值总结
    jquery获得select option的值和对select option的操作
    jsp弹出新窗口代码
    MyEclipse10.0优化
    MyEclipse安装FreeMarker插件
    增强MyEclipse的代码自动提示功能
    PowerDesigner 技巧【3】
    PowerDesigner 快捷键
    PowerDesigner 技巧【2】
  • 原文地址:https://www.cnblogs.com/ikaka/p/3352184.html
Copyright © 2011-2022 走看看