博文

指针数组(2007-03-08 12:23:00)

摘要: 指针数组 作者:未知    文章来源:未知    点击数: 1456    更新时间:2005-11-3 前面介绍了指向不同类型变量的指针的定义和使用,我们可以让指针指向某类变量,并替代该变量在程序中使用;我们也可以让指针指向一维、二维数组或字符数组,来替代这些数组在程序中使用,给我们在编程时带来许多方便。下面我们定义一种特殊的数组,这类数组存放的全部是指针,分别用于指向某类的变量,以替代这些变量在程序中的使用,增加灵活性。指针数组定义形式:类型标识*数组名[数组长度]例如: char *str[4];由于[ ] 比*优先权高,所以首先是数组形式str[4 ],然后才是与“*”的结合。这样一来指针数组包含4个指针s t r [ 0 ]、s t r [ 1 ]、s t r [ 2 ]、s t r [ 3 ],各自指向字符类型的变量。例如: int *p t r [ 5 ] ;该指针数组包含5个指针p t r [ 0 ]、p t r [ 1 ]、p t r [ 2 ]、p t r [ 3 ]、p t r [ 4 ],各自指向整型类型的变量。[例6-22] 针对指针数组的应用,我们分别用指针数组的各指针指向字符串数组、指向一维整型数组、指向二维整型数组。#include <stdlib.h>#include <stdio.h>m a i n ( ){char *ptr1[4]={"china","chengdu","sichuang","chongqin"};/* 指针数组p t r 1 的4个指针分别依此指向4个字符串* /int i,*ptr2[3],a[3]={1,2,3},b[3][2]={1,2,3,4,5,6};for(i=0;i<4;i++)printf("\n%s",ptr1[i]);/依*此输出ptr1数组4个指针指向的4个字符串*/printf("\n");for(i=0;i<3;i++)ptr2[i]=&a[i];/*将整型一维数组a的3个元素的地址传递给指针数组ptr2*/for(i=0;i<3;i++)/*依此输出ptr2所指向的3个整......

阅读全文(1583) | 评论:0