首页>计算机>软件水平考试>复习指导>正文
计算机软件水平考试:程序员之程序设计知识点(四)

www.zige365.com 2010-6-23 13:55:00 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

  for(i=0; i
  pt[i][0]=pt[i][i]=l;
  for(j=l;j
  pt[i][j]=pt[i-1][j-1]+pt[i-1][j];
  }
  for(i=0;i< N; i++) {
  printf(“%*c”,40-2*i,‘');
  for(j=0; j<=i ;j++)
  printf(“M”, pt[i][j]) ;
  printf(“\n”);
  }
  }
  程序产生如下形式的二项式系数三角形:
  1
  1 1
  1 2 1
  1 3 3 1
  1 4 6 4 1
  1 5 10 1O 5 1
  1 6 15 20 15 6 1
  1 7 21 35 35 21 7 1
  2.多级指针
  当指针变量pp所指的变量ip又是一种指针时,呷就是一种指向指针的指针,称指针变量如是一种多级指针。定义指向指针变量的指针变量的一般形式为
  数据类型 * *指针变量名;
  例如:
  int * *pp,*ip ,i ;
  ip=&i;
  pp=&ip;
  定义说明pp是指向指针的指针变量;它能指向的是这样一种指针对象,该指针对象是能指向int型的指针变量。如上述代码让pp指向指针变量ip,中指向整型变量i。
  多级指针与指针数组有密切的关系。若有指针数组:
  char * lines[ ]= {“ADA”,“ALGOL”,“C”,“C++”,“FORTRAN”,“PASCAL” };
  则lines指针数组的每个元素分别指向以上字符串常量的首字符。在这里数组名lines可以作为它的首元素lines[0]的指针,lines+k是元素 lines[k]的指针,由于lines[k] 本身也是指针,所以表达式 lines+k的值是一种指针的指针。如有必要还可引入指针变量cp,让它指向数组lines的某元素,如cp=&lines[k]。这样,cp就是指向指针型数据的指针变量。在这里,cp是指向字符指针的指针变量,它应被定义成:
  char * *cp;
  为了定义这样的 cp,它的前面有两个*号。由于*自右向左结合,首先是“* cp”表示 cp是指针变量,再有**cp表示cp能指向的是某种指针类型,最后“char * *cp”表示指针变量cp能指向字符指针数据对象。如果有赋值cp=& lines[l],让它指向数组元素lines[1],则* cp引用 lines[1],是一个指针,指向字符串“ALGOL”的首字符。* *cp引用lines[1][0],其值是字符'A’。下面的代码实现顺序输出指针数组lines各元素所指字符串:
  for(c=lines;cp  Printf(“%s\n”,*cp);
  设有数组a[]和指针数组pt[]有以下代码所示的关系:
  int a[]= {2,4,6,8,10 };
  int *pt[]={&a[3],&a[2],a[4],&a[0],&[1]};
  int * *p;
  下面的代码利用指针数组pt[]和指针的指针p,遍历数组a[]:
  for( p=pt; paprintf(“%d\t”,* *p);

      

本新闻共5页,当前在第5页  1  2  3  4  5  

我要投稿 新闻来源: 编辑: 作者:
相关新闻