C语言指针数组使用案例【二级指针之指针数组】
来源:互联网 发布:aa录音软件下载 编辑:程序博客网 时间:2024/06/08 03:42
有如下程序示例,完成对指针数组的元素打印输出及排序:
#include <stdlib.h>#include <stdio.h>#include <string.h>int main(){int i = 0;int j = 0;int arrayNum = 0;//初始化元素个数变量char *temp = NULL;char * testArray[] = { "aasasa", "ababdssd", "dfdfd", "1111wed" };arrayNum = sizeof(testArray) / sizeof(testArray[0]);//求出数组元素个数//对指针数组元素的打印输出for (i = 0; i < arrayNum; i++){printf("方式1输出%s\n", testArray[i]);//按数组编号取值printf("方式2输出%s\n", *(testArray+i));//运用指针地址上取值方式}//对指针数组元素的排序输出printf("排序前输出:\n");for (i = 0; i < arrayNum; i++){printf("%s\n", *(testArray + i));//运用指针地址上取值方式}for (i = 0; i < arrayNum; i++){for (j = i +1 ; j < arrayNum; j++){if (strcmp(testArray[i], testArray[j]) > 0){temp = testArray[i];//交换的是指针的值testArray[i] = testArray[j];testArray[j] = temp;}}}printf("排序后输出:\n");for (i = 0; i < arrayNum; i++){printf("%s\n", *(testArray + i));//运用指针地址上取值方式}system("pause");return 0;}/*运行结果:方式1输出aasasa方式2输出aasasa方式1输出ababdssd方式2输出ababdssd方式1输出dfdfd方式2输出dfdfd方式1输出1111wed方式2输出1111wed排序前输出:aasasaababdssddfdfd1111wed排序后输出:1111wedaasasaababdssddfdfd请按任意键继续. . .*/
现将打印,排序分别封装进两个独立的函数完成,对上面的程序进行修改优化,利用二级指针做参数输入示例:
#include <stdlib.h>#include <stdio.h>#include <string.h>//对指针数组元素的打印输出void printArray(char **testArray, int arrayNum){for (int i = 0; i < arrayNum; i++){printf("方式1输出%s\n", testArray[i]);//按数组编号取值printf("方式2输出%s\n", *(testArray + i));//运用指针地址上取值方式}}//对指针数组元素的排序输出void sortArray(char **testArray, int arrayNum){int i = 0; int j = 0;char *temp = NULL;printf("排序前输出:\n");for (i = 0; i < arrayNum; i++){printf("%s\n", *(testArray + i));//运用指针地址上取值方式}for (i = 0; i < arrayNum; i++){for (j = i + 1; j < arrayNum; j++){if (strcmp(testArray[i], testArray[j]) > 0){temp = testArray[i];//交换的是指针的值testArray[i] = testArray[j];testArray[j] = temp;}}}printf("排序后输出:\n");for (i = 0; i < arrayNum; i++){printf("%s\n", *(testArray + i));//运用指针地址上取值方式}}int main(){intarrayNum = 0;//初始化元素个数变量char * testArray[] = { "aasasa", "ababdssd", "dfdfd", "1111wed" };arrayNum = sizeof(testArray) / sizeof(testArray[0]); //算出元素个数//打印输出printArray(testArray, arrayNum);//排序输出sortArray(testArray, arrayNum);system("pause");return 0;}/*运行结果:方式1输出aasasa方式2输出aasasa方式1输出ababdssd方式2输出ababdssd方式1输出dfdfd方式2输出dfdfd方式1输出1111wed方式2输出1111wed排序前输出:aasasaababdssddfdfd1111wed排序后输出:1111wedaasasaababdssddfdfd请按任意键继续. . .*/
0 0
- C语言指针数组使用案例【二级指针之指针数组】
- C语言二级指针与指针数组的结合使用.
- c 指针,二级指针,数组
- C语言:一级指针,二级指针,三级指针,指针数组,数组指针的综合示例
- C语言中,一级指针,二级指针,数组,一位数组指针,二位数组指针浅谈
- C和指针之二维字符串数组用指针数组、数组指针、二级指针打印
- 数组指针,二级指针
- 数组指针、二级指针
- c语言中指针,二维数组,一维数组,指针数组,二级指针,应用
- c语言之数组指针
- C语言之指针数组
- [C]二级指针与指针数组
- C语言函数指针数组简单案例
- 关于C语言中的数组指针、指针数组以及二级指针
- C语言之二级指针/双重指针
- c语言 数组 指针
- C语言--指针,数组
- c语言指针数组
- AT命令
- 观察者模式
- 缓存工具DiskLruCache
- Servlet 调用servlet
- ListView上下滑动监听
- C语言指针数组使用案例【二级指针之指针数组】
- mysql性能优化-慢查询分析、优化索引和配置
- 快速Android开发系列网络篇之Android-Async-Http - Angel(转载)
- 百度地图开发(二)之添加覆盖物 地理编码和反地理编码
- Java I/O解读与使用实例
- 安装karma失败
- 黑马程序员_java学习笔记 8.集合框架
- UIPageViewController
- 飞鸽传书协议分析