gpt4 book ai didi

c - 将常量 char 指针分配给结构

转载 作者:行者123 更新时间:2023-11-30 18:36:12 25 4
gpt4 key购买 nike

所以我已经有一段时间没有参加编程类(class)了,加上对指针的了解很糟糕,并且确实需要一些帮助

struct Base10Parse
{
const char *p;
{

然后我尝试分配类似 1.3e5 的内容

int atof(const char *ptr)
{
struct Base10Parse *Bp;
Bp->p=ptr;


return 0;
}

但我不知道如何分配它?有人可以帮我吗?

最佳答案

您声明了一个指针 Bp但未初始化。您将获得 Segmentation fault ,不是吗?下次,请说出您遇到的错误

您可能想要更改:

struct Base10Parse *Bp;
Bp->p=ptr;

致:

struct Base10Parse Bp;
Bp.p=ptr;

如果你真的希望 Bp 成为一个指针,因为你知道自己在做什么,那么你应该这样做:

struct Base10Parse *Bp = (Base10Parse*)malloc(sizeof(Base10Parse));
Bp->p=ptr;

// Do your code here, and the very end:

free(Bp);

在这种情况下,您应该#include <stdlib.h>在文件的开头。

不相关的建议

尝试改变

struct Base10Parse
{
const char *p;
};

致:

typedef struct
{
const char *p;
} Base10Parse;

这样,你就可以声明 BpBase10Parse Bp;而不是struct Base10Parse Bp; .

关于c - 将常量 char 指针分配给结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42616984/

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