gpt4 book ai didi

c - 如何在 c 结构中使用指向字符的指针?

转载 作者:行者123 更新时间:2023-12-02 08:17:18 25 4
gpt4 key购买 nike

可以使用 char name[size] 声明所需大小的字符串,但是如果我想使用 char *name,我将如何指定我需要使用 malloc() 的大小?

我发现我不能在结构声明中使用 char *name = malloc(5*1);

我试过用

struct data
{
int age;
char *name;
};

在运行这段代码并输入字符串时,我遇到了段错误。我必须如何指定尺寸?

最佳答案

你需要指定指针的大小,你需要让指针指向一个有效的内存,仅此而已。此外,没有必要使用malloc()。你也可以

  • 通过分配器函数、malloc() 或 family 将内存分配给指针
  • 使指针指向任何其他 char 变量(或数组)的地址

为了详细说明,您创建了一个 struct data 类型的变量 var,然后让 var->name 指向一个有效的 block 内存。

就是说,要使用 malloc() 分配所需的内存大小,您需要提供所需的大小作为 malloc() 的参数(以字节为单位) .

关于c - 如何在 c 结构中使用指向字符的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40866663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com