怎样给字符指针输入赋值
时间: 2023-09-02 07:07:16 浏览: 241
字符指针可以通过以下几种方式进行输入赋值:
1. 使用scanf函数:
```c
char *str;
scanf("%s",str);
```
2. 使用gets函数:
```c
char *str;
gets(str);
```
3. 使用fgets函数:
```c
char *str;
fgets(str, MAX_LENGTH, stdin);
```
其中,MAX_LENGTH是最大输入长度,stdin表示从标准输入流中读取输入。需要注意的是,使用fgets函数时需要手动添加换行符,因为该函数会将换行符也读入字符串中。
相关问题
字符数组给字符指针赋值
在C语言中,字符数组和字符指针可以互相赋值。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
char str1[] = "hello";
char* str2;
str2 = str1; // 将 str1 的起始地址赋值给 str2
printf("str1: %s\n", str1);
printf("str2: %s\n", str2);
return 0;
}
```
在该示例中,我们首先定义了一个字符数组 `str1`,并将其初始化为字符串 `"hello"`。接着,定义了一个字符指针 `str2`,然后将其赋值为 `str1`,这样 `str2` 也指向了字符串 `"hello"` 的起始地址。
运行该程序,输出结果如下:
```
str1: hello
str2: hello
```
可以看到,`str1` 和 `str2` 的值都是字符串 `"hello"` 的起始地址,因此它们指向同一个字符串。这就是通过字符数组给字符指针赋值的方法。
怎么给一个字符串指针赋值字符串
可以使用strcpy函数来给一个字符串指针赋值字符串。
例如,如果要将字符串"Hello, World!"赋值给一个名为str的字符串指针,可以使用以下代码:
```
char *str;
str = (char*) malloc(14 * sizeof(char)); //分配存储空间
strcpy(str, "Hello, World!"); //复制字符串
```
这里先使用malloc函数分配14个字符的存储空间(包括字符串末尾的'\0'),然后使用strcpy函数将字符串"Hello, World!"复制到str所指向的存储空间中。注意,在使用strcpy函数前,必须先为指针分配足够的存储空间,否则会导致内存访问错误。
阅读全文