c - 如何执行结构的指针变量的内存设置,该结构是 C 中另一个结构的指针变量

标签 c pointers struct memset

我有 2 个 struct:

struct A
{    
  B *b;
}a;

struct B
{
  int* Info;
} b;

如何在 C 中执行信息的 memset

memset((a->b->Info,0,sizeof(int));

Info 必须是带有 0 的 memset。必须对 34 个值执行此操作。这可以通过 for 循环完成吗?

提前致谢!

最佳答案

定义结构时,实际上是在创建用户定义的数据类型。在上面的代码中,A 是数据类型,a 是该类型的变量。 B 和 b 也是如此。

a.b -> Info 是您应该如何通过 A 访问信息,在您的情况下。 . 运算符用于访问使用普通结构变量(非指针)的结构成员。如果您定义了类型 A 的指针 x那么您应该使用 x->b->Info

您可以从这里了解 C 结构:

http://www.tutorialspoint.com/cprogramming/c_structures.htm

关于c - 如何执行结构的指针变量的内存设置,该结构是 C 中另一个结构的指针变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660837/

相关文章:

c - 数组下标的类型为 'char'

c - C语言中如何用scanf读取字符?获取格式为 [-Wformat=] 的 "spurious trailing ‘%’”

c - 全局指针(链表头)未正确更新

c - 如何为我的 C 结构数组分配更多空间?

c - 关于如何在 C 结构中表示缓冲区

C++读/写结构对象到文件

c++ - "layout-compatible with C"是什么意思?

c - 从 C 实例化 BSD jail

c++ - 指向基类的指针数组,其中包含派生类的对象和重载的 << 运算符

c - 在 C 语言中,赋值使指针来自整数,无需强制转换[默认启用]