C语言程序设计(第6章指针)6

C语言程序设计(第6章指针)6,第1张

C语言程序设计(第6章指针)6,第2张

6.6指针数组
前面介绍了不同类型变量的指针的定义和使用。我们可以让指针指向某一类变量,在程序中用它代替那个变量;我们也可以让指针指向一维、二维数组或者字符数组而不是这些数组,这给我们编程带来了很多方便。让我们定义一个特殊的数组。这种类型的数组存储所有指针,这些指针用于指向某些类型的变量,以取代程序中这些变量的使用,并增加灵活性。指针的定义形式:
类型ID *数组名[数组长度]
例如:char * str;
因为[]的优先级高于*,所以首先是数组形式str[4],然后是带“*”的组合。这样,指针数组包含四个指针str [0]、str[1]、str[2]和str【例6-22】对于指针数组的应用,我们用指针数组的每个指针分别指向字符串数组、一维整数数组和二维整数数组。
# include
# include
main()
{
char * ptr 1[4]= { "中国"、"成都"、"四川"、"重庆" };
/*指针数组p t r 1的四个指针指向四个字符串*/
int I,* ptr2 [3],a [3] = {1,2,3},b [3] [2] = {1,2,3,4,5。
for(I = 0;0、= 0和< 0分别表示字符串str1大于str2,str1等于str2,str1小于str2。然后使用strcpy()函数复制这两个字符串。选择以下气泡排序方法。
# include
# include
# include
main()
{
char * ptr 1[4],str[4][20],temp[20];
/*为exchange定义指针数组、二维字符数组和一维字符数组* /
int i,j;
for(I = 0;i0)
{
strcpy(temp,ptr 1[j]);
strcpy(ptr1[j],ptr 1[j+1]);
strcpy(ptr1[j+1],temp);
}
for(I = 0;i printf("%s\n ",ptr 1[I]);
}
运行程序:
jkdkdfs
fhfgkjfgkfkf
HKFGKGFKKLG
JJJDJDDK
原始字符串:
jkdkkdfs[Hkgfkklg
jjkdjdkdjdk
序数字符串:
FHFGKKFGKF
HKFGKGFKKLG
二维字符数组每行开头的地址一旦传递给指针数组的每个指针,就相当于给指针分配了一个安全可操作的地址,地址空之间的大小由二维字符数组决定。当然,编译器系统也可以为指针分配地址来存储字符串。,每个指针指向一个字符类型变量。例如:int * ptr[5];这个指针数组包含五个指针,ptr[0]、ptr[1]、ptr[2]、ptr[3]和ptr[4],每个指针指向一个整型变量。

[3]

[例6-24] 利用malloc( )函数为指针分配存储空间,实现字符串的排序。
#include
#include
#include
main( )
{
char *ptr1[4],*temp;
int i,j;
for (i=0;i

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言程序设计(第6章指针)6

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情