设计一个c程序,可以用于开辟一级,二级指针对应的空间并输出信息的程序代码
时间: 2024-03-10 14:46:09 浏览: 57
关于指针的程序
以下是使用一级、二级指针动态开辟内存空间并输出信息的 C 代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n = 5;
int* ptr1 = (int*)malloc(n * sizeof(int));
int** ptr2 = (int**)malloc(n * sizeof(int*));
printf("使用一级指针开辟的空间:\n");
for (int i = 0; i < n; i++) {
ptr1[i] = i + 1;
printf("%d ", ptr1[i]);
}
printf("\n\n使用二级指针开辟的空间:\n");
for (int i = 0; i < n; i++) {
ptr2[i] = (int*)malloc(n * sizeof(int));
for (int j = 0; j < n; j++) {
ptr2[i][j] = (i + 1) * (j + 1);
printf("%d ", ptr2[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果:
```
使用一级指针开辟的空间:
1 2 3 4 5
使用二级指针开辟的空间:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
```
注:使用完毕后,需要释放动态开辟的内存,以免造成内存泄漏。释放一级指针的内存可以使用 `free(ptr1)`,释放二级指针的内存需要使用两次 `free`,如下:
```c
for (int i = 0; i < n; i++) {
free(ptr2[i]);
}
free(ptr2);
```
阅读全文