char*如何赋值
时间: 2023-07-23 19:15:05 浏览: 59
char* 可以赋值给一个字符串常量或者一个字符数组的首地址。赋值的方式可以使用 strcpy() 函数或者直接使用赋值运算符(=)。
例如,将一个字符串常量赋值给 char* 可以使用以下方式:
```
char* str = "Hello, World!";
```
将一个字符数组的首地址赋值给 char* 可以使用以下方式:
```
char arr[] = "Hello, World!";
char* str = arr;
```
使用 strcpy() 函数赋值可以使用以下方式:
```
char arr[20];
strcpy(arr, "Hello, World!");
char* str = arr;
```
相关问题
char* 赋值
可以使用以下方式给 char* 变量赋值:
1. 直接赋值:
```
char* str = "Hello, world!";
```
2. 使用 strcpy 函数:
```
char str[20];
strcpy(str, "Hello, world!");
```
3. 使用 strncpy 函数:
```
char str[20];
strncpy(str, "Hello, world!", sizeof(str));
```
请注意,在使用 strcpy 和 strncpy 函数时,要确保目标数组有足够的空间来存储源字符串。否则可能会导致缓冲区溢出错误。
const char *赋值
在 C 语言中,可以使用以下两种方式给 const char* 赋值:
1. 直接赋值字符串常量:
```c
const char* str = "Hello, World!";
```
这种方式会在内存中分配一块只读的字符串常量,并把指针 str 指向它。
2. 使用字符数组:
```c
const char* str;
char arr[] = "Hello, World!";
str = arr;
```
这种方式先定义一个字符数组 arr,把字符串常量赋值给它,然后把 arr 的地址赋给指针 str。需要注意的是,这种方式虽然可以让指针 str 指向一个可读写的字符串数组,但是 str 仍然是一个指向只读字符的指针,所以不能通过 str 修改字符串内容。