zoukankan      html  css  js  c++  java
  • 指向结构体指针的例子

    #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=数组名

  • 相关阅读:
    javascript中replace()
    防止IE6出现BUG的十种常见解决方法
    IE6 重复字符的bug
    IE6 BUG大全
    display:inline
    JavaScript 图片上传预览效果
    用一行代码让w3wp进程崩溃,如何查找w3wp进程崩溃的原因
    近期学习任务
    气死我的存储过程和用户定义函数
    Damn,China Mobile!!!!
  • 原文地址:https://www.cnblogs.com/xiaobaigang/p/2058196.html
Copyright © 2011-2022 走看看