zoukankan      html  css  js  c++  java
  • C语言之结构体

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 //用指向函数的指针做函数参数
     4 #if(0)
     5 int main()
     6 {
     7     struct Student{
     8         long int num;
     9         char name[20];
    10         char sex;
    11         char addr[20];
    12     }a={10101,"zhangsan",'M',"shandong"};
    13     printf("%ld,%s,%c,%s",a.num,a.name,a.sex,a.addr);
    14     return 0;
    15 }
    16 #endif
    17 
    18 #if(0)
    19 //定义一个结构体
    20 struct Student{
    21     int num;
    22     char name[20];
    23     float score;
    24 };
    25 
    26 int main()
    27 {
    28     //定义一个结构体数组,里面包含5个结构体变量
    29     struct Student stu[5]={{10101,"zhang",66},{10102,"li",77},{10103,"zhao",32},
    30                             {10104,"ke",69},{10105,"huang",100}};
    31     struct Student temp;//定义一个结构体变量
    32     const  int n=5;
    33     int i,j,k;//定义变量
    34     printf("the order is:
    ");
    35     for(i=0;i<n-1;i++){
    36         k=i;
    37         for(j=i+1;j<n;j++){
    38             if(stu[j].score>stu[k].score){ //如果第1个学生的成绩大于第0个学生的成绩
    39                 k=j;
    40             }
    41         temp=stu[k];
    42         stu[k]=stu[i];
    43         stu[i]=temp;//将结构体通过中间变量进行交换
    44         }
    45     }
    46     for(i=0;i<n;i++){
    47       printf("%6d,%8s,%6.2f
    ",stu[i].num,stu[i].name,stu[i].score);
    48     }
    49     printf("
    ");
    50     return 0;
    51 }
    52 #endif
    53 
    54 #if(0)
    55 int main(){
    56     struct Student{
    57         long int num;
    58         char name[20];
    59         char sex;
    60         float score;
    61     };
    62     struct Student stu_1;
    63     struct Student *p;//定义结构体指针
    64     p=&stu_1;//将结构体变量的地址赋值给指针
    65     stu_1.num=1001;
    66     strcpy(stu_1.name,"huang");//此处是字符数组 指向第一个元素的地址 因此使用strcpy函数赋值
    67     stu_1.sex='M';
    68     stu_1.score=89.5;
    69     printf("%ld,%s,%c,%.2f",(*p).num,(*p).name,(*p).sex,(*p).score);
    70     return 0;
    71 }
    72 
    73 #endif
    74 
    75 #if(1)
    76 //定义一个结构体
    77  struct Student{
    78         int num;
    79         char name[20];
    80         char sex;
    81         int age;
    82     };
    83 //定义一个结构体数组
    84 struct Student stu[3]={{10011,"zhang",'M',20},{10012,"zhan",'M',20},{10013,"zha",'M',20}};
    85 
    86 
    87 int main(){
    88     //定义一个结构体指针
    89     struct Student *p;
    90     //利用for循环 指向结构体指针
    91     for(p=stu;p<stu+3;p++){
    92         printf("%d,%s,%c,%d
    ",(*p).num,p->name,p->sex,p->age);
    93     }
    94     return 0;
    95 }
    96 #endif
  • 相关阅读:
    asp.net中的Application概述
    Android布局
    Content Provider
    Service
    进程和线程Processes and Threads
    Android模拟器
    Fragment
    Ui Event
    Loader
    sqlite3命令
  • 原文地址:https://www.cnblogs.com/yh2924/p/12486848.html
Copyright © 2011-2022 走看看