概念:
一个数组的元素均是指针,则该数组称为指针数组。

使用指针数组处理字符串非常适合。由于字符串长度不定,使用二维字符数组处理会大量浪费存储空间。

代码示例:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>int main()
{int i,j,len;char *temp;char *str[5];printf("请输入5个字符串:\n");temp=(char *)malloc(80);for(i=0;i<5;i++){fgets(temp,80,stdin);fflush(stdin);len=strlen(temp);if(temp[len-1]=='\n'){temp[len-1]='\0';len--;}len++;str[i]=(char*)malloc(sizeof(char)*len);strcpy(str[i],temp);}free(temp);for(i=0;i<5;i++){for(j=0;j<5-i-1;j++){if(strcmp(str[j],str[j+1])>0){temp=str[j];str[j]=str[j+1];str[j+1]=temp;}}}printf("排序后输出结果:\n");for(i=0;i<5;i++){printf("%s\n",str[i]);}for(i=0;i<5;i++){free(str[i]);}return 0;
}

与利用二维数组不同,指针数组是将地址值修改而二维数组是将内存数据修改。

利用指针数组进行字符串排序相关推荐

  1. 【C语言】字符指针数组查找字符串

    字符串常识: 1.以'\0'结尾,用" "括起来,字符是用' '括起来 2.字符串有字符数组和字符指针两种表现形式.字符数组不一定是字符串,有'\0'结束的字符数组才是字符串,但字 ...

  2. C语言函数题-利用指针,实现字符串比较函数

    6-1 利用指针,实现字符串比较函数 (30分) 编写字符串比较函数,strmycmp(s,t),功能:比较字符串s,t的大小,返回比较结果.函数的返回值为两个串从左至右第一个不同字符相差的acsii ...

  3. 数组指针数组的选择排序

    排序 数组排序 指针数组排序 数组排序 1.记录最小值的下标为i 2.更新真实最小值下标 3.判断真实最小值下标 是否与开始认定的i相等,如果不等,交换元素 void mySort(int arr[] ...

  4. 字符串数组交换c语言,c语言指针数组和字符串数组的区别,高手请进

    要对几个字符串排序后输出. 两个程序,只是对数组的定义不同,第一个定义的是指针数组,是对的:第二个定义的是字符串数组,却是错的.指针数组的v[i]和字符串数组的v[i]不都是表示指向一个字符串的一级指 ...

  5. 利用指针数组计算2个3行4列矩阵的和_[剑指 Offer] 04. 二维数组中的查找

    难度:简单 题目链接:剑指 Offer 04. 二维数组中的查找 题目描述: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数, ...

  6. c语言中指针数组赋值字符串,C语言—用结构体指针给数组赋值(结构体指针指向字符串,给字符串赋值)...

    数组定义: char acBuf[sizeof(TRANS_HEAD_S) + sizeof(USER_HEAD_S) + 4] = {0}; 结构体定义: typedef struct { int ...

  7. C语言,利用一维数组选择法排序,使学生成绩高低排序(要求输入为负值时输入结束)

    声明:该编译器为vs,所以输入函数写为scanf_s形式! 代码如下: #include <stdio.h> #define N 40 int ReadScore(int score[]) ...

  8. C语言,利用一维数组交换法排序,使学生成绩高低排序(要求输入为负值时输入结束)

    声明:该编译器为vs,所以输入函数写为scanf_s形式! 代码如下: #include <stdio.h> #define N 40 int ReadScore(int score[]) ...

  9. C语言数组练习-字符串排序

    要求:输入3行,每行n个字符串,按由小到大的顺序输出 声明:本代码思路简单但书写麻烦,请酌情参考. -------------------------------------------------- ...

最新文章

  1. ADAS摄像头图像环视拼接算法
  2. 哪种编程语言最适合初学者?
  3. 百度 71 个炸天的开源项目!你知道几个?
  4. 多看看把,条件太多了--leetcode 93. 复原 IP 地址
  5. des vue 双倍长 解密_[转]单倍长密钥加密和双倍长密钥加密,银联直联终端62域难点详解...
  6. 稻盛和夫《活法》读后感
  7. 小米笔记本air无法充电_惠普笔记本电池无法充电问题的解决方法
  8. 遍历处理path及其子目录所有文件
  9. 拼多多砍价小程序源码 流量主系列
  10. matlab的cylinder函数,matlab cylinder怎么用,Matlab cylinder 函数
  11. Linux 监视文件、文件夹改动
  12. java项目 字典实现,java项目中数据字典的实现
  13. Win7删除GRUB For DOS启动项
  14. php微商系统,产品营销推广神器Thinkphp核心微商新版零售系统源代码
  15. 从整理看视觉设计(网易云课堂我的学习中心-微专业视觉优化)
  16. The coordinates or measures are out of bounds.
  17. AidLearning0.87F3安装Python3.8
  18. 伯努利分布、泊松分布
  19. 超级实习生计划学习笔记——Redis字符串
  20. catalina 无法验证macos_macOS Catalina 无法安装是什么原因?

热门文章

  1. 凯氏物语:下一波财富再分配浪潮在哪里
  2. 宋佩峰的个人使命宣言
  3. “投资第1年,还清5万欠款”:会挣钱的人,都活成什么样?
  4. 【MySQL】数据库维护
  5. Android 性能优化之旅5--电量优化
  6. 苹果主屏幕按钮怎么设置_苹果手机怎么录制屏幕视频?手把手教你操作步骤
  7. 北林计算机分数,2021北京林业大学录取分数线-北京林业大学分数线-2021北京林业大学录取查询网址...
  8. 优先编码器 Priority Encoder
  9. [coreldraw X4]如何调节透明度
  10. 保护你的数字资产:网络安全的重要性和应对策略