#include <stdio.h>
#include "stdlib.h"
#include "string.h"
int getMemory(char ***p,int num){
int i = 0;
char **tmp = NULL;
if (p == NULL) {
return -1;
}
tmp = (char **)malloc(sizeof(char *)*num);
if (tmp == NULL) {
return -2;
}
for (int i = 0; i<num; i++) {
tmp[i] = (char*)malloc(sizeof(char) *100);
sprintf(tmp[i], "%d",i+1);
}
*p = tmp;
return i;
}
int freeMenmory(char ***p,int num){
char **tmp = NULL;
if (p == NULL) {
return -1;
}
tmp = *p;
for (int i = 0; i<num; i++) {
free(tmp[i]);
}
free(tmp);
*p = NULL;//把实参赋值成NULL
return 0;
}
int main(int argc, const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
char **p2 = NULL;//二级指针
int num = 5;
p2 = (char **)malloc(sizeof(char **)*num);
// printf("char **---->%d",sizeof(long **));// long long 指针变量占用的字节数也是8个字节.
for (int i = 0; i<5; i++) {
p2[i] = (char *)malloc(sizeof(char) *100);//这里是100个字节大小注意
sprintf(p2[i], "%d%d%d",i+1,i+1,i+1);
}
/**
* 排序之前
*/
char *tmp;
printf("排序之前\n");
for (int i = 0; i<num; i++) {
printf("%s\n",p2[i]);
}
/*
for (int i = 0; i<num; i++) {
for (int j = i+1; j<num; j++) {
if (strcmp(p2[i],p2[j])<0) { //比较大小
tmp = p2[i];
p2[i] = p2[j];
p2[j] = tmp;
}
}
}*/
tmp = malloc(sizeof(char) *100);//要分配内存
for (int i = 0; i<num; i++) {
for (int j = i+1; j<num; j++) {
if (strcmp(p2[i],p2[j])<0) { //比较大小
// tmp = p2[i];
// p2[i] = p2[j];
// p2[j] = tmp;
strcpy(tmp, p2[i]);
strcpy(p2[i], p2[j]);
strcpy(p2[j], tmp);
}
}
}
printf("排序之后\n");
for (int i = 0; i<num; i++) {
printf("%s\n",p2[i]);
}
//释放内存
for(int i = 0;i<num;i++ ){
if (p2[i] != NULL) {
free(p2[i]);
p2[i] = NULL;
}
}
char ***p = malloc(100);
getMemory(p, 10);
for (int i = 0; i<10; i++) {
printf("%s\n",p[i]);
}
return 0;
}
一个二级指针排序练习
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- /*关于指针数组记号,及指针函数参数,的自我编写代码练习*/ #include #include #include...
- 一、指针运算 二、数组与指针 三、指针和函数参数 四、指针数组 五、 二级指针 六、知识要点 1、C语言中的函数如...
- 一、指针运算 二、数组与指针 三、指针和函数参数 java中: C/C++中: 四、指针数组 五、 二级指针 六、...