如何给一个字符数组赋值
时间: 2024-11-10 13:14:05 浏览: 42
matlab数组赋值的多种方法
给字符数组赋值在C语言中通常是通过直接初始化或者动态内存分配后逐个字符赋值的方式来进行的。以下是两种常见的方法:
1. **静态初始化**:
```c
char str[10] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '\0'}; // 非常直观的字符串常量
```
这里声明了一个长度为10的字符数组,并直接赋予了字符串"Hello World"及其结束符。
2. **动态内存分配**:
```c
char *str;
int len = strlen("Hello World"); // 获取实际字符串长度
str = (char*) malloc(len + 1); // 为结束符预留一位空间
strcpy(str, "Hello World"); // 将字符串复制到动态分配的内存地址
```
首先计算字符串长度,然后用`malloc()`动态分配内存,再用`strcpy()`将字符串复制过去。
3. **输入读取**:
```c
#include <stdio.h>
char str[100];
scanf("%s", str); // 用户输入的字符串,注意此处不会自动添加结束符,需后续处理
```
这用于从标准输入接收用户输入的字符串。
阅读全文