C语言指针指向字符串,把字符串放入数组函数
时间: 2024-09-19 14:00:17 浏览: 38
C语言指针实现字符串的反转
在C语言中,如果你想将字符串放入数组,通常需要使用指针和动态内存管理,因为C语言的标准库并不提供直接处理字符串数组的功能。下面是一个简单的例子,展示了如何通过指针实现这一功能:
```c
#include <stdio.h>
#include <stdlib.h> // 包含malloc函数
// 定义一个函数,接收一个字符数组(实际上是指向字符的指针)
void store_string(char* str_array, const char* input) {
// 计算输入字符串的实际长度,包括结尾的'\0'
int len = strlen(input);
// 检查是否有足够的空间存储字符串
if (len + 1 > sizeof(str_array)) {
printf("Error: Not enough space for the string.\n");
return;
}
// 将字符串复制到数组中,并添加结束符'\0'
strncpy(str_array, input, len);
str_array[len] = '\0'; // 确保最后一个元素是空字符'\0'
// 输出新插入的字符串
printf("String stored in array: %s\n", str_array);
}
int main() {
char str_array[50]; // 创建一个足够大的字符数组
// 调用函数,传递指向数组的指针和要存储的字符串
store_string(str_array, "Hello, World!");
// 使用数组显示字符串
printf("Array contents: %s\n", str_array);
return 0;
}
```
在这个示例中,`store_string` 函数接收一个字符数组指针作为第一个参数,然后通过指针将用户输入的字符串复制到这个数组里。请注意,你需要根据实际需求调整数组大小。
阅读全文