1. 程式人生 > >深刻理解數組指針(就是一個指針)

深刻理解數組指針(就是一個指針)

[] char 數組指針 HA 理解數組 x64 printf \n 代碼

明白了這段代碼,對數組指針理解的已經非常透徹了

    char arr[]={        
        0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x07,0x09,                  
        0x00,0x20,0x10,0x03,0x03,0x0C,0x00,0x00,0x44,0x00,                  
        0x00,0x33,0x00,0x47,0x0C,0x0E,0x00,0x0D,0x00,0x11,                  
        0x00,0x00,0x00,0x02,0x64,0x00,0x00,0x00,0xAA,0x00,                  
        0x00,0x00,0x64,0x10,0x00,0x00,0x00,0x00,0x00,0x00,                  
        0x00,0x00,0x02,0x00,0x74,0x0F,0x41,0x00,0x00,0x00,                  
        0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x0A,0x00,                  
        0x00,0x02,0x74,0x0F,0x41,0x00,0x06,0x08,0x00,0x00,                  
        0x00,0x00,0x00,0x64,0x00,0x0F,0x00,0x00,0x0D,0x00,                  
        0x00,0x00,0x23,0x00,0x00,0x64,0x00,0x00,0x64,0x00
    };
    int (*px)[2]=(int (*)[2])arr; 
    int (*py)[2][3]=(int (*)[2][3])arr; 
    char (*pz)[2]=(char (*)[2])arr;
    char (*pk)[2][3]=(char (*)[2][3])arr;               
    printf("%x\n",*(*(px+1)+0));                
    printf("%x\n",*(*(px+2)+0));                
    printf("%x\n",*(*(px+3)+3));        
    printf("%x\n",*(*(*(py+2)+2)+3));       
    printf("%x\n",*(*(pz+1)+3));
    printf("%x\n",*(*(*(pk+1)+2)+4));

深刻理解數組指針(就是一個指針)