指针数组由小到大输出地址
时间: 2024-06-02 07:04:54 浏览: 7
指针数组由小到大输出地址的方法如下:
1. 定义一个指向指针的指针变量,用于存储指针数组的首地址;
2. 使用冒泡排序对指针数组进行排序,排序时比较每个指针的值,将小的值放在前面,大的值放在后面;
3. 循环输出排序后的指针数组中每个指针的地址,即可实现从小到大输出地址的功能。
具体实现代码如下:
```
#include <stdio.h>
void sortPointerArray(int **p, int n) {
int i, j;
int *temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (*p[j] < *p[i]) {
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
}
int main() {
int a = 10, b = 20, c = 30;
int *p = {&a, &b, &c};
sortPointerArray(p, 3);
for (int i = 0; i < 3; i++) {
printf("%p\n", p[i]);
}
return 0;
}
相关问题
利用指针实现二维数组从大到小排序输出
下面是一个使用指针实现二维数组从大到小排序并输出的代码:
```
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 10;
bool cmp(int *a, int *b) {
return *a > *b;
}
int main() {
int a[N][N];
int *p[N * N];
int k = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
a[i][j] = rand() % 100;
p[k++] = &a[i][j];
}
}
sort(p, p + N * N, cmp);
for (int i = 0; i < N * N; i++) {
cout << *p[i] << " ";
}
cout << endl;
return 0;
}
```
这段代码的主要思路是:将二维数组的每一个元素地址存储在指针数组`p`中,然后对指针数组排序,最后通过指针数组输出二维数组的元素。
用指针数组实现文件输入输出
使用指针数组实现文件输入输出的步骤如下:
1. 定义一个指针数组,数组中的每个元素都是一个指向字符数组的指针,用于存储文件中的每一行数据。
2. 打开文件,读取文件中的一行数据,并将每一行数据存储到指针数组的相应位置。
3. 关闭文件。
4. 打开文件,指针数组中的每一行数据写入文件中。
5. 关闭文件。
下面是一个示例代码,演示如何使用指针数组实现文件输入输出:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_LINES 1000
#define MAX_LENGTH 100
int main() {
char *lines[MAX_LINES]; // 定义指针数组
char buffer[MAX_LENGTH];
int i = 0;
// 打开文件,读取文件中的每一行数据,并将每一行数据存储到指针数组的相应位置
FILE *fp = fopen("input.txt", "r");
while (fgets(buffer, MAX_LENGTH, fp) != NULL) {
lines[i] = malloc(sizeof(char) * (strlen(buffer) + 1));
strcpy(lines[i], buffer);
i++;
}
fclose(fp);
// 打开文件,将指针数组中的每一行数据写入文件中
fp = fopen("output.txt", "w");
for (int j = 0; j < i; j++) {
fputs(lines[j], fp);
}
fclose(fp);
// 释放指针数组中每个元素所占用的内存
for (int j = 0; j < i; j++) {
free(lines[j]);
}
return 0;
}
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)