动态申请n个char类型的指针,一个指针赋值一个字符
时间: 2023-12-03 12:47:23 浏览: 33
可以使用动态内存分配函数`malloc`申请内存空间,然后使用指针来访问内存空间,并将每个指针赋值一个字符。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("请输入要申请的指针数量:");
scanf("%d", &n);
// 动态申请n个char类型的指针
char **ptrs = (char **) malloc(n * sizeof(char *));
if (ptrs == NULL) {
printf("内存分配失败!");
return -1;
}
// 为每个指针分配内存空间,并赋值一个字符
for (int i = 0; i < n; i++) {
ptrs[i] = (char *) malloc(sizeof(char));
if (ptrs[i] == NULL) {
printf("内存分配失败!");
return -1;
}
*(ptrs[i]) = 'a' + i;
}
// 输出每个指针所指向的字符
for (int i = 0; i < n; i++) {
printf("%c ", *(ptrs[i]));
}
// 释放申请的内存空间
for (int i = 0; i < n; i++) {
free(ptrs[i]);
}
free(ptrs);
return 0;
}
```
这个程序首先让用户输入要申请的指针数量,然后使用`malloc`函数申请了`n`个`char`类型的指针,接着为每个指针分配了内存空间,并将每个指针赋值一个字符。最后输出每个指针所指向的字符,并释放申请的内存空间。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)