• 指向结构体指针的例子


    #include<stdio.h>
    #define LEN 20
    struct names
    {
      
    char first[LEN];
      
    char last[LEN];
    };

    struct guy
    {
      
    struct names handle;
      
    char favfood[LEN];
      
    char job[LEN];
      
    float income;
    };

    int main(void)
    {
         
    struct guy fellow[2]=
         {
            {{"Ewen","Villard"},"grilled salmon","personality coach",58112.00},
            {{"Rodney","Swillbelly"},"tripe""tabbid editor",232400.00}
        };
         
        
    struct guy *him;

        printf("address #1: %p  #2: %p\n",&fellow[0],&fellow[1]);
        
        him=&fellow[0];

        printf("pointer #1: %p #2: %p\n",him,him+1);

        printf("him->income is $%.2f  (*him)income is $%.2f\n",him->income,(*him).income);

        him++;

        printf("him->favfood is %s  him->handle.last is %s\n",him->favfood,him->handle.last);

        
    return 0;
    }
    输出结果

    address #1:0x0012fea4 #2:0x0012fef8

    pointer #1:0x0012fea4 #2:0x0012fef8

    him->income is $58112.00: (*him).income is $58112.00

    him->favfood is tripe: him->handle.last is Swillbelly
     

     

    结构(fellow)作为函数的参数传递分类 
    1:传递结构成员      例如:function(fellow[0].income)
    2:传递结构地址      例如:function(&fellow[0])
    3:把结构作为参数传递  例如:function(fellow[0])
    4:把一个结构赋值给另外一个结构 例如:fellow[0]=fellow[1]
    5:结构不能直接赋值给指针(需&取地址),而数组可以直接赋值给指针   例如:p=&fellow[0] 或 p=数组名

  • 相关阅读:
    Eclipse配置Lifery SDK步骤与错误解决。
    Java Math floor round ceil 函数
    jpa多表leftjoin 查询,自定义返回结果
    saml2协议sp-initial登录过程
    httpclientutil
    解决samlexception-inresponsetofield-of-the-response-doesnt-correspond-to-sent-mess
    spring boot 整合saml2
    使用redis防止重复提交
    mysql转化时间戳毫秒到秒
    javamail 附件以及正文加图片
  • 原文地址:https://www.cnblogs.com/xiaobaigang/p/2058196.html
Copyright © 2020-2023  润新知