zoukankan      html  css  js  c++  java
  • c语言学习笔记

    前面在学习枚举类型enum时就觉得有些不习惯,那里习惯理解了的话,到结构体这里的理解就更方便些了,因为两者有一些相似的地方。

    //用结构体登记一个学生的姓名和分数,如果小于60分,显示bad

    #include <stdio.h>


    typedef struct{                
      char name[20];
      float points;    
      char *appraise;  //这里用字符型指针,如果用普通字符串,外面无法赋值
    } students;             //结构体里面的参数也可以是结构体 ,用的时候用多个点号连接起来

    //定义一种结构体,typeof 数据 标签名,这里用typeof定义这个结构体为students

    //也可以这样定义

    struct students{         //用这种定义的话,后边的变量声明都要是  struct students ,比如main里的 lucky 要写成struct students lucky
      char name[20];    //如果用typedef就可以取一个更方便的名字,来指代struct students
      float points;
      char *appraise;
    };


    students give_appraise(students *s){//如果前面不用typedef定义,这里都得用struct students  
      if(s->points<60)
        s->appraise="bad";    //这里传递进来的是*s指针时才可以用s->这种箭头表示法,如果是只传递 s,得用s.appraise,同时还得return出去,虽然不像数组那样不可以返回,但这样明显没有指针操作方便 
      else
        s->appraise="good";  // 这种指针操作也可以写出 (*s).appraise  必须加括号因为.的优先级大于*
    }


    int main(void){
      students lucky = {"lucky",49,""};
      give_appraise(&lucky);  //传递结构体的地址
      printf("%s",lucky.appraise);

      return 0;
    }

  • 相关阅读:
    C#获取屏幕鼠标所指点的颜色
    C#连接SQLServer数据库基本实现
    论文摘要写法
    红黑树
    递归、迭代和分治法
    逻辑右/左移与算术右/左移
    C 中数字数据类型在不同机器上所占字节数
    十进制转十六进制
    c带头结点的单链表逆置
    求一维数组长度误区
  • 原文地址:https://www.cnblogs.com/luckylihuizhou/p/6475639.html
Copyright © 2011-2022 走看看