gpt4 book ai didi

无法使结构的字段在 C 中保持不变

转载 作者:太空狗 更新时间:2023-10-29 14:55:54 24 4
gpt4 key购买 nike

当我声明下面给出的结构时,它抛出编译错误。

typedef struct{
const char x; //it is throwing compilation error
const char y;
}A;

void main()
{
A *a1;
a1 = (A*)malloc(2);
}

如何使结构的字段(字符 xy)为常量?

最佳答案

那应该没问题,当然你不能给它们赋值,只能使用初始化。

所以在堆上分配一个实例没有多大意义。

这个有效:

#include <stdio.h>

int main(void) {
typedef struct {
const int x, y;
} A;
A my_a = { 12, 13 };
printf("x=%d\ny=%d\n", my_a.x, my_a.y);
return 0;
}

它打印:

x=12
y=13

此外,please don't cast the return value of malloc()在 C 中。

关于无法使结构的字段在 C 中保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36884048/

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