龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

二级指针

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
二级指针 实例效果与目的 这是一个应用二级指针对字符串排序的程序。程序运行后,顺序显示字符串。 程序说明 当一个指针变量指向另一个指针变量时,则形成二级指针。使用二级指

二级指针

实例效果与目的

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

程序说明

当一个指针变量指向另一个指针变量时,则形成二级指针。使用二级指针可以在建立复杂的数据结构时提供较大的灵活性,能够实现其他语言所难以实现的一些功能。定义二级指针的形式是:

类型标识符**二级指针变量名

定义指针的同时可以对其赋值,然后就可以使用了。

假如定义一个指针数组,则指针数组名就是一个二级指针。用指针数组元素值指向长度同的字符串,操作时可以节省内存空间,而对地址进行操作,提高了运行效率。

冒泡排序的思路是:对n个数据从第1位开始对相信两个数进行比较,并按要求排序(如从小到大)。再比较第2位与第3位,依次处理至最后两个数比较处理完毕。此时,最大的已排到最后,退出比较,进入下一轮比较,每一轮把最大的数排到最后较,至所有的数排列完毕。

制作步骤

1、得到所须处理的字符串:

for(i=0;i

2.冒泡排序:

void sort(char**p)

{

int i,j;

char *pstr;

for(i=0;i

for (j=i+1;j

if (strcmp(*(p+i),*(p+j))>0)

{

prstr=*(p+j);

*(p+j)=*(p+i);

*(p+i)=pstr;

}

}

3、显示排序后的结果

for(i=0;i

puts(pstr[i]);

4、源代码与注释:

#include“stdio.h"

#include"string.h"

#define LENGTH 30

#define N 10

void sort(char**p)

{

int i,j;

char *pstr;

void sort(char**p)

{

  

int i,j;

char *pstr;

for(i=0;i

for (j=i+1;j

if (strcmp(*(p+i),*(p+j))>0)

{

prstr=*(p+j);

*(p+j)=*(p+i);

*(p+i)=pstr;

}

}

main()

{

int i;

char *pstr[N],s[N][LENGTH];

for (i=0;i

pstr[i]=s[i];

printf(" Input %d strings: ",N);

for (i=0;i

gets(pstr);

sort(pstr);

printf(" The sorted string are: ");

for(i=0;i

puts(pstr[i]);

return;

}

  

  

精彩图集

赞助商链接