程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++指針數組,數組指針

C++指針數組,數組指針

編輯:C++入門知識

#include <stdio.h>
        main(){
           static int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};/* 定義二維數組m並初始化*/ 
           int (*p)[4];//數組指針  p是指針,指向一維數組,每個一維數組有4個int元素
           int i,j;
           int *q[3];//指針數組 q是數組,數組元素是指針,3個int指針
           p=m;    //p是指針,可以直接指向二維數組
           printf("--數組指針輸出元素--/n");
           for(i=0;i<3;i++)/*輸出二維數組中各個元素的數值*/
          {
                for(j=0;j<4;j++) 
                {
                      printf("%3d ",*(*(p+i)+j));
               }
                 printf("/n");
          }
           printf("/n");
          for(i=0;i<3;i++,p++)//p可看成是行指針
          {
                   printf("%3d ",**p);//每一行的第一個元素
                   printf("%3d ",*(*p+1));//每一行的第二個元素
                   printf("%3d ",*(*p+2));//每一行的第三個元素
                   printf("%3d ",*(*p+3));//每一行的第四個元素
                   printf("/n");
           }
         printf("/n");
         printf("--指針數組輸出元素--/n");
         for(i=0;i<3;i++)
                q[i]=m[i];//q是數組,元素q[i]是指針
         for(i=0;i<3;i++)
         {
                for(j=0;j<4;j++)
                 {
                       printf("%3d ",q[i][j]);//q[i][j]可換成*(q[i]+j)
                }
                 printf("/n");
          }
           printf("/n"); 

        q[0]=m[0];
        for(i=0;i<3;i++)
        {
          for(j=0;j<4;j++)
         {
            printf("%3d ",*(q[0]+j+4*i));
          }
          printf("/n");
       }
       printf("/n");
    
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved