gpt4 book ai didi

c - 如何增加结构体中的指针值和指针地址

转载 作者:行者123 更新时间:2023-11-30 20:32:55 24 4
gpt4 key购买 nike

如何增加结构体中定义的指针的地址?我在主函数中定义了一个指向该结构的指针。如果我使用 ptr->element,其中 element 是结构内部的指针,它是否引用该元素指向的值?如果是,如何让元素指向下一个位置?

最佳答案

它是特定于实现的,但实际上规则是:

结构体成员按照声明的顺序存储。 如有必要,请在每个结构体成员之前添加 padding,以确保正确的对齐

每个基元类型 Ntype 都需要 sizeof(Ntype)< 的对齐方式 字节。

因此,给出以下结构:

struct Ntype
{
char ch1;
short sh;
char ch2;
int *a;
};
  • ch1 位于偏移量 0
  • 插入一个填充字节来对齐
  • 在偏移量 2 处 sh
  • ch2 位于偏移量 4 处,紧接在 s 之后
  • 插入 3 个填充字节以对齐...
  • 偏移量 8 处的 a

所以sizeof(Ntype)是16。

关于c - 如何增加结构体中的指针值和指针地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46746352/

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