您的位置:首页 > 编程语言 > C语言/C++

二级指针作输入之内存模型一

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++