c - 如何为字符指针赋予字符串值?

标签 c pointers

如何在运行时将字符串提供给字符指针,而不是通过键盘预先初始化 char *b;

最佳答案

首先,根据 C11 标准,第 7.1.1 章,

A string is a contiguous sequence of characters terminated by and including the first null character.

并且,根据 §6.4.5

A character string literal is a sequence of zero or more multibyte characters enclosed in double-quotes, as in "xyz".

所以,它们是不一样的。

但是,要从用户输入一个字符串,您可以遵循以下任一情况

  • 定义一个char数组并扫描输入(scanf(), fgets())。
  • 定义一个指针,分配内存,然后使用 scanf()fgets() 读取用户的输入。

关于c - 如何为字符指针赋予字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35377655/

相关文章:

c - 是否可以使用格式说明符作为函数的参数

c++ - 在 C++ 中,对于某些类型 T,如何从 "const T**"获取 "T**"?

c - 如何检查 C 中的地址是否有效或已分配?

c++ - malloc 和 New 中堆初始化的混淆

c - 如何用C发送差分UART信号

c - 如何将包含 8 个字节(表示 64 位 int)的(char)数组转换为字符串

c - 读取纺织品并添加到 C 中的链接列表

c - 类型为 'void' 的操作数,其中需要算术或指针类型 - C

c++ - 为什么来自 Bjarne 的 "Tour of C++"的代码有效?

c++ - 确定指针在文本文件中的位置