关于#c语言#的问题:请问怎么理解这段结构体,要用里面的变量a要怎么调用

请问怎么理解这段结构体,要用里面的变量a要怎么调用

typedef const struct
{ 
    s16 a;           
} stru_B, *pStru_B;


#include <stdio.h>
typedef const struct
{ 
    int a;           
} stru_B, *pStru_B;

int main()
{
    stru_B b = {10};
    printf("%d",b.a);
}

你这个结构体里的 s16 是什么? 看着像 short a;
这句话就是说,我定义一个结构体,里边有个 a, 这个结构体的别名是 stru_B, 或指针别名 pStru_B; 用的话就是这样

stru_B testB;
testB.a;

pStru_B testB1 = (pStru_B)malloc(sizeof(stru_B));
testB1->a;

如果有用,麻烦给个采纳,谢谢了~~

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7440350
  • 这篇博客也不错, 你可以看下编程:随意输入10个正整数并存入数组a;编程找出数组a中所有的素数,及其下标,并按(下标,素数)格式输出。
  • 除此之外, 这篇博客: 详解C语言“结构体”不同定义方式及应用(第1篇)中的 (3)对结构体变量a进行 &a 运算,可以得到a的首地址,它是结构体类型指针。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •         如下代码所示:

    //结构体1
    struct date{ 
        int year;
        int month;
        int day;
    };
    
    //结构体2
    struct student{ 
        char num[8];
        char name[20];
        char sex;
        struct date  birthday;//内嵌结构体1
        float score;
     } a; //若对 a 取地址“&a”,可以得到a的首地址,为结构体类型指针

  • 以下回答由chatgpt基于相关博客总结生成:

    答:在C语言中,结构体是一种自定义数据类型,可以将不同类型的数据组合在一起形成一个新的数据类型。结构体的定义需要使用struct关键字,例如定义一个包含int类型变量a和char类型变量b的结构体可以如下定义:

    struct myStruct {
        int a;
        char b;
    };
    

    如果要使用结构体中的变量a,可以使用"."符号来访问,例如:

    struct myStruct myData;
    myData.a = 10;
    

    这样就将myData中的a变量赋值为10。需要注意的是,访问结构体中的变量时需要先创建结构体的实例,例如上方创建的myData就是一个myStruct类型的实例。