c语言字符型数组赋值
时间: 2024-12-15 19:25:26 浏览: 6
在C语言中,字符型数组(char array)用于存储字符串。赋值给字符数组通常涉及初始化或动态分配内存。以下是几种常见的赋值方式:
1. **静态初始化**:
```c
char str[] = "Hello World"; // 字符串字面量直接赋值
```
这里创建了一个包含12个字符的数组,包括空字符'\0'。
2. **通过循环逐个字符输入**:
```c
char str[10]; // 假设最多输入9个字符 + '\0'
scanf("%s", str); // 输入字符串到数组,自动添加'\0'
```
3. **动态分配**(如果需要根据用户输入或其他条件动态确定长度):
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int len;
printf("Enter the string length: ");
scanf("%d", &len);
char *str = malloc(len + 1); // 分配空间,+1 为了'\0'
if (str) { // 检查分配是否成功
fgets(str, len + 1, stdin); // 用户输入,注意fgets处理换行符
str[len] = '\0'; // 添加结束符
} else {
printf("Memory allocation failed.\n");
}
// 使用str...
free(str); // 要记得在完成后释放动态分配的空间
}
```
阅读全文