用字符指针存储字符串及输入输出
时间: 2023-12-21 07:07:21 浏览: 117
字符串与指针
好的,您的问题是如何用字符指针存储字符串并实现输入输出。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char* str = NULL; // 定义字符指针并初始化为空指针
str = (char*) malloc(100 * sizeof(char)); // 分配 100 个字符的内存空间
if (str == NULL) { // 判断内存分配是否成功
printf("内存分配失败!\n");
return -1;
}
printf("请输入字符串:");
fgets(str, 100, stdin); // 输入字符串
printf("您输入的字符串是:%s\n", str); // 输出字符串
free(str); // 释放内存空间
return 0;
}
```
上述代码中,我们首先定义了一个字符指针 `str`,并初始化为空指针。然后使用 `malloc()` 函数分配了 100 个字符的内存空间,用于存储字符串。接着用 `fgets()` 函数从标准输入中读取字符串,最后使用 `printf()` 函数输出字符串。最后使用 `free()` 函数释放了分配的内存空间。
需要注意的是,输入字符串时需要使用 `fgets()` 函数而非 `scanf()` 函数,因为 `scanf()` 函数会在读取空格和换行符时停止读取,而 `fgets()` 函数会读取整行字符串,包括换行符。此外,使用字符指针存储字符串时,需要注意内存分配和释放,防止出现内存泄漏等问题。
阅读全文