首页>Program>source

我用 int8_t* 指出结构,我可以使用 cout print" num "数据,但如何print" b 数据?

这是我的代码

struct A_T{
    int num;
    char *b;
};
int main()
{
    A_T *a=new A_T();
    a->num=10;
    a->b="aaa";
    int8_t *p;
    p=(int8_t*)a;
    cout<<a->num<<endl;
    cout<<*p<<endl;
    return 0;
}

cout<<*p<<endl 可以print" num "数据是10,但是当我使用 cout<<*(p+1)<<endl print" b "数据,它什么也不print。

你能帮我吗?

谢谢

最新回答
  • 10天前
    1 #

    您可以在此'cout<<(((A_T *)p)->b<< endl;'中使用 插入以访问结构的成员b。

  • 10天前
    2 #

    这很痛苦,但这可能对您有用

    #include <stddef.h>
    cout << *(char**)(p + offsetof(A_T, b)) << '\n';
    

  • javascript:jQuery成功后无法刷新selectpicker选项
  • java:如何停止更新变量?