二级指针作输入之内存模型一
2016-04-01 21:27
435 查看
二级指针作函数参数输入之三种内存模型
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h>
//排序API void sort_array(char **p, int n) { int i, j; char *tmp; for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if (strcmp(p[i], p[j]) > 0) { tmp = p[i]; p[i] = p[j]; p[j] = tmp; } } } }
//打印API //void print_array(char *p[], int n) 数组作函数参数退化为指针 void print_array(char **p, int n) { int i = 0; for (i = 0; i < n; i++) { printf("%s, ", p[i]); } printf("\n"); }
int main(void) { //指针数组,指针的数组,它是一个数组,每一个元素都是指针char * char *p[] = { "111111111", "000000000", "bbbbbbbbb", "aaaaaaaaa" }; int n = sizeof(p) / sizeof(p[0]); printf("排序前:\n"); print_array(p, n); sort_array(p, n); printf("\n排序后:\n"); print_array(p, n); printf("\n"); system("pause"); return 0; }
相关文章推荐
- 关于栈、堆、静态变量区的访问效率
- 关于指针定义的一些问题
- 进制转换并打印
- 函数指针
- C/C++的字符串流
- MinGW环境变量设置、CodeBlock添加额外的库
- websocket C/C++服务器应用
- 内存分配学习(一)-- 实现一个malloc
- 逗号运算符与加加减减
- C/C++数据类型总结
- 数组初始化
- C/C++中的回车与换行
- C/C++中的'\0'
- #define do{}while(0)妙用
- 浅析pragma once与include guard
- 大小端模式
- Ubuntu14.04 学习二: C/C++环境搭建,执行第一个hello world
- 我所理解的makefile文件
- 对于VS中一些较严谨的(_s)函数如strcpy_s的第二个参数的问题
- [编程题]记负均正