C语言字符串排序指针Malloc
时间: 2024-04-26 10:16:08 浏览: 101
以下是使用指针和动态内存分配(malloc)对字符串进行排序的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void sortStrings(char **str, int n);
int main() {
int n, i;
char **str;
printf("请输入字符串的个数:");
scanf("%d", &n);
// 动态分配内存
str = (char **) malloc(n * sizeof(char *));
for (i = 0; i < n; i++) {
str[i] = (char *) malloc(100 * sizeof(char));
printf("请输入第%d个字符串:", i + 1);
scanf("%s", str[i]);
}
// 对字符串进行排序
sortStrings(str, n);
// 输出排序后的字符串
printf("排序后的字符串为:\n");
for (i = 0; i < n; i++) {
printf("%s\n", str[i]);
}
// 释放内存
for (i = 0; i < n; i++) {
free(str[i]);
}
free(str);
return 0;
}
void sortStrings(char **str, int n) {
int i, j;
char *temp;
// 选择排序
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(str[i], str[j]) > 0) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
```
阅读全文