char*字符串如何初始化
时间: 2024-11-28 13:26:20 浏览: 5
浅谈char*类型返回值和字符串常量
字符指针(char*)在C语言中通常用于表示字符串。字符串初始化主要有以下几种方式:
1. **直接赋值**:
```c
char *str = "Hello World"; // 字符串字面量直接初始化
```
这里的`"Hello World"`是一个字符串字面量,它会被转换成指向常量存储区的一块内存的指针。
2. **使用strcpy()函数**:
```c
char str[10]; // 定义一个字符数组
strcpy(str, "Hello"); // 将字符串复制到数组
```
这里先声明一个字符数组,然后使用`strcpy()`函数将一个已存在的字符串复制到该数组的首地址。
3. **动态内存分配**:
```c
char *str = malloc(sizeof(char) * 11); // 动态分配内存
if (str != NULL) {
strcpy(str, "Hello World");
// 使用完毕后记得释放内存
free(str);
}
```
这会为字符串分配一块内存,然后将字符串内容复制进去,结束时需要手动释放内存以避免内存泄漏。
阅读全文