指针数组

从百度贴吧拿来的问题,分析下。

 1 #include <stdio.h>
 2 #define  N 6
 3 #define  M 21 
 4 int main()
 5 {    
 6      int a[M],*p[N],k,j,q;       
 7      for(k=0;k<N;k++)
 8      {
 9          q=k*(k+1)/2;
10          p[k]=&a[q];
11      }    
12      for(k=0;k<N;k++)
13      {
14          *(*(p+k))=1;
15         *(*(p+k)+k)=1;
16      }    
17      for(k=2;k<N;k++)        
18         for(j=1;j<k;j++)            
19              *(*(p+k)+j)=*(*(p+k-1)+j-1)+*(*(p+k-1)+j);        
20          for(k=0;k<N;k++)        
21          {
22          for(j=0;k<N;k++) 
23              printf("%4d",*(*(p+k)+j));        
24             printf("\n");    
25          } 
26      return 0;  
27 }  
View Code

 

posted @ 2014-11-25 14:20  cdsj  阅读(126)  评论(0编辑  收藏  举报