二级指针

二级指针


实例效果与目的
这是一个应用二级指针对字符串排序的程序。程序运行后,顺序显示字符串。


程序说明
当一个指针变量指向另一个指针变量时,则形成二级指针。使用二级指针可以在建立复杂的数据结构时提供较大的灵活性,能够实现其他语言所难以实现的一些功能。定义二级指针的形式是:
类型标识符**二级指针变量名
定义指针的同时可以对其赋值,然后就可以使用了。
如果定义一个指针数组,则指针数组名就是一个二级指针。用指针数组元素值指向长度同的字符串,操作时可以节省内存空间,而对地址进行操作,提高了运行效率。
冒泡排序的思路是:对n个数据从第1位开始对相信两个数进行比较,并按要求排序(如从小到大)。再比较第2位与第3位,依次处理至最后两个数比较处理完毕。此时,最大的已排到最后,退出比较,进入下一轮比较,每一轮把最大的数排到最后较,至所有的数排列完毕。


制作步骤
1、得到所须处理的字符串:

for(i=0;i

 1<n;i++) (j="i+1;j&lt;N;j++)" (strcmp(*(p+i),*(p+j))="" *pstr;="" 2.冒泡排序:="" char="" for="" for(i="0;i&lt;N;i++)" get(pstr[i]);="" i,j;="" if="" int="" sort(char**p)="" void="" {="">0)   
 2{   
 3prstr=*(p+j);   
 4*(p+j)=*(p+i);   
 5*(p+i)=pstr;   
 6}   
 7} 
 8
 93、显示排序后的结果   
10
11
12for(i=0;i<n;i++) #define="" #include"string.h"="" #include“stdio.h"="" (j="i+1;j&lt;N;j++)" (strcmp(*(p+i),*(p+j))="" *pstr;="" 10="" 30="" 4、源代码与注释:="" char="" for="" for(i="0;i&lt;N;i++)" i,j;="" if="" int="" length="" n="" puts(pstr[i]);="" sort(char**p)="" void="" {="">0)   
13{   
14prstr=*(p+j);   
15*(p+j)=*(p+i);   
16*(p+i)=pstr;   
17}   
18}   
19main()   
20{   
21int i;   
22char *pstr[N],s[N][LENGTH];   
23for (i=0;i&lt;N;i++)   
24pstr[i]=s[i];   
25printf("\n Input %d strings:\n",N);   
26for (i=0;i&lt;N;i++)   
27gets(pstr);   
28sort(pstr);   
29printf("\n The sorted string are:\n");   
30for(i=0;i&lt;N;i++)   
31puts(pstr[i]);   
32return;   
33}</n;i++)></n;i++)>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus