码迷,mamicode.com
首页 > 其他好文 > 详细

结构体

时间:2019-12-01 13:33:22      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:函数参数   成员   结构   函数参数传递   数据类型   定义变量   code   pre   char   

一 赋值和初始化

# include <stdio.h>
struct Student//只是定义了一个数据类型,并没有定义变量
{
    int age;
    float score;
    char sex;
} ;

int main ()
{
    //类似于数组 
    struct Student st1={80,66.6,'F'};//初始化 定义的同时赋初值 
    struct Student st2;//如果定义完之后只能分开赋值 
    st2.age=10;
    st2.score=88;
    st2.sex='F'; 
    
    printf("%d %f %c\n",st1.age,st1.score,st1.sex); 
    printf("%d %f %c\n",st2.age,st2.score,st2.sex);
    
    return 0;
}

二 如何取出结构体变量中的每一个成员
1.结构体变量名.成员名
2.指针变量->成员名 这种方式更常用

# include <stdio.h>
struct Student
{
    int age;
    float score;
    char sex;
} ;

int main ()
{
    struct Student st1={80,66.6,'F'};
    st1.age;//第一种方式
    struct Student* p = &st1;//构造指针变量 
    p->age;//第二种方式 p->age在计算机内部会转换为(*p).age硬性规定 又等价于p.age 
    return 0;
}

三 结构体变量和结构体指针变量作为函数参数传递的问题

# include <stdio.h>
void InputStudent(struct Student* p);
void OutputStudent(struct Student ss);
struct Student
{
    int age;
    float score;
    char sex;
} ;

int main ()
{
    struct Student st1;
    InputStudent(&st1);
    OutputStudent(st1);
    return 0; 
}
void OutputStudent(struct Student ss)//只输出不修改的话不用使用指针变量 
{
    printf("%d %f %c\n",ss.age,ss.score,ss.sex);
}
void InputStudent(struct Student* p)
{
    p->age=10;
    p->score=99.99;
    p->sex='F';
}

结构体

标签:函数参数   成员   结构   函数参数传递   数据类型   定义变量   code   pre   char   

原文地址:https://www.cnblogs.com/panghushalu/p/11965429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!