WEB开发网
开发学院软件开发C++ 二级指针 阅读

二级指针

 2008-03-08 12:28:18 来源:WEB开发网   
核心提示:二级指针 实例效果与目的 这是一个应用二级指针对字符串排序的程序,程序运行后,二级指针,顺序显示字符串, 程序说明 当一个指针变量指向另一个指针变量时,进入下一轮比较,每一轮把最大的数排到最后较,则形成二级指针,使用二级指针可以在建立复杂的数据结构时提供较大的灵活性
二级指针
实例效果与目的   这是一个应用二级指针对字符串排序的程序。程序运行后,顺序显示字符串。
程序说明   当一个指针变量指向另一个指针变量时,则形成二级指针。使用二级指针可以在建立复杂的数据结构时提供较大的灵活性,能够实现其他语言所难以实现的一些功能。定义二级指针的形式是:   类型标识符**二级指针变量名   定义指针的同时可以对其赋值,然后就可以使用了。   假如定义一个指针数组,则指针数组名就是一个二级指针。用指针数组元素值指向长度同的字符串,操作时可以节省内存空间,而对地址进行操作,提高了运行效率。   冒泡排序的思路是:对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(" Input %d strings: ",N);      for (i=0;i<N;i++)       gets(pstr);      sort(pstr);      printf(" The sorted string are: ");      for(i=0;i<N;i++)         puts(pstr[i]);      return;    } 

Tags:二级 指针

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接