论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

二级指针

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:45:06

二级指针


实例效果与目的

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


程序说明

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

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

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

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

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


制作步骤

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

for(i=0;i<N;i++) get(pstr[i]);

2.冒泡排序:

    void sort(char**p)

      {

         int i,j;

         char *pstr;

         for(i=0;i<N;i++)

           for (j=i+1;j<N;j++)

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

                  { 

                       prstr=*(p+j);

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

                       *(p+i)=pstr;

                  }

                 }

3、显示排序后的结果

     for(i=0;i<N;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<N;i++)

           for (j=i+1;j<N;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<N;i++)

         pstr[i]=s[i];

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

         for (i=0;i<N;i++)

           gets(pstr);

         sort(pstr);

         printf("\n The sorted string are:\n");

         for(i=0;i<N;i++)

              puts(pstr[i]);

         return;

      } 

视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058