各种编程语言中的关键字,其语法类似于或派生自C(C ++,C#,Swift,Go,Rust等)。使用特定的编程语言标记来标记涉及使用`struct`作为语法的问题,语义可以依赖于语言。关键字定义或声明由其他数据类型组成的数据类型。结构的每个成员都有自己的内存区域(而不是“union”,其成员共享一个内存区域)。
我有一个结构数组,我需要访问这样的值:每个新数组,它应该只添加逗号,我尝试循环遍历数组,然后循环结构,但试图看看是否有任何简单的.. .
只是一个名为 person 的简单结构,里面我需要存储姓名和年龄。我正在尝试为我的结构动态分配内存。 不使用指针: #包括 #包括 只是一个名为 person 的简单结构,在里面我需要存储姓名和年龄。我正在尝试为我的结构动态分配内存。 不使用指针: #include <stdio.h> #include <stdlib.h> typedef struct person { char name[10]; int age; } person; int main(int argc, char *argv[]) { person a = {"bob", 15}; // Here, we can input values "together", all at once printf("name is %s, age is %i\n", a.name, a.age); return 0; } 到这里,就可以成功打印出: name is bob, age is 15 使用指针: int main(int argc, char *argv[]) { person *a = (person *) malloc(sizeof(person)); *a = {"bob", 15}; // Here I tried to input the all values printf("name is %s, age is %i\n", a->name, a->age); free(a); return 0; } 它不会编译并返回错误: expected expression before '{' token 好吧,如果我尝试一一输入值: int main(int argc, char *argv[]) { person *a = (person *) malloc(sizeof(person)); a->name = "bob"; a->age = 15; printf("name is %s, age is %i\n", a->name, a->age); free(a); return 0; } 可以成功打印出: name is bob, age is 15 我期望由于指针指向分配给结构体 person 的内存,因此可以像普通结构体一样一起输入值。但正如你所看到的,它不能。然而,当值被一一输入时,它就起作用了。 我做错了什么吗?或者使用指针时,需要一一输入值?谢谢。 您可能需要一个结构体文字。并且不要投射来自 malloc 的返回。 int main(void) { person *a = malloc(sizeof(person)); *a = (person){"bob", 15}; // Here I tried to input the all values printf("name is %s, age is %i\n", a->name, a->age); free(a); return 0; }
我是C初学者,我试图创建一个修改结构体指针内容的函数,但它无法成功,相反,内容保持不变。 这是我的代码: #包括 #
在结构体中,为什么不允许初始化为0,但初始化为1是有效的代码
#包括 结构温度{ 无符号整数零位:1; 无符号整数第一个位:1; }; // 结构 temp_1{ // 无符号整型 Zero_bit : 0; //
请帮我理解最后一行的作用: int PCKT_LEN = 8192; 字符缓冲区[PCKT_LEN]; 结构 iphdr *ip = (结构 iphdr *) 缓冲区; 结构 udphdr *udp = (结构 udphdr *) (缓冲区 +
我创建了一个结构体,其中包含一些列的数据。现在,我的唯一标识符值出现了大量这些结构。我想使用collect_l将这些结构组合成一个数组...
所以我目前正在尝试创建自己的实体组件架构,但遇到了一些问题。 我将我的组件存储为结构,例如 结构体基础组件 { bool 是否有效; } 结构
尝试学习 C 的细微差别,尽管我做得很好,直到我发现: #定义SOKOL_IMPL #定义SOKOL_GLES3 #include“sokol_gfx.h” #include“sokol_log.h” #包括“...
我正在尝试将大型数据结构编码为二进制。我已经为每个结构元素指定了位数。所以我需要根据位长度将struct编码为二进制。标准 Golang 库
给出定义: #[导出(序列化、反序列化)] 枚举栏 { A(i64), B(u64), } #[导出(序列化、反序列化)] 结构体 Foo { 酒吧: 酒吧, } JSON 序列化为 福{ 酒吧: 酒吧:...
假设我有一个结构体和一个具有相同类型布局的 std::tuple : 结构 MyStruct { int i;布尔b;双 d; } 使用 MyTuple = std::tuple; 有没有什么标准化的方法...
可视化 GCC 编译的 C++ 类/结构的内存布局的最佳方法是什么? 我将 GCC 开关 -fdump-lang-class 添加到我的 C++ 编译选项中,但它没有向 stdou 输出任何内容...
用于解决 15 个谜题的 C 代码在尝试显示谜题每次更新的路径时会出现分段错误
我有一个代码,应该在显示初始状态和目标状态后显示解决 15 个难题的路径。然而,虽然它确实显示了初始状态和目标状态,但它给出了
为什么在嵌入式系统固件中可以使用结构体来表示 MMIO 寄存器,而不是位域?
在嵌入式系统固件中,通常使用结构体来表示外设的多个内存映射寄存器,假设编译器的代码生成将遵循特定的...
我不明白下面的神秘会员是什么属性: typedef 结构体_myobject { 长号码; 无效*神秘; } t_myobject; 这个void *成员是一个什么样的成员呢?多少钱
我最近正在探索C的所有oop特性,当我遇到这个问题时。我想用 C 创建一个游戏引擎,所以我使用嵌套结构来组织所有东西。但是当释放内存时,
如果我没有为特定结构的任何字段传递值,为什么 Go 编译器不会抱怨
类型 X 结构体 { 作者字符串 年龄整数 } X{ 作者:“某位作者”, } 为什么我没有收到类似“嘿,你错过了设置年龄值”的错误,这是一个功能/错过的规则吗?
关于指向常量 Foo 的指针的澄清,其中 Foo 是一个结构体
代码: 结构体Foo { 整数a = 0; int 常量 b = 1; }; int main() { 富 f{}; Foo const *const_ptr_f = &f; const_ptr_f->a++; // 错误 } 我想知道为什么...
我遇到了一种奇怪的行为,想澄清一下这里发生了什么。 我确实创建了一个简单的不可变结构 公共只读结构MatchingPair:IEquatable...