C 언어 구조체(7)

2734 단어 C 언어
구조체를 간소화하다
struct name {
    int b;
}tt,*ss;
#include 
#include 
#include 
//  
struct MyFirstStu
{
    char name[9];
    char sex;
    int  score[2];
};

//  
struct MySecond {
    char title[10];
    char rest[20];
    float money;
};


struct MyThread {
    char *title;
    char *rest;
    float money;
};


#pragma mark - malloc free
struct namect {
    char *fname;
    char *lname;
    int letters;
};

void getinfo (struct namect *);



//     
void fW(struct MyFirstStu a[])
{
    struct MyFirstStu b = {"Zhao",'m',85,90};
    a[1] = b;
    puts(a[0].name);
    puts(a[1].name);

}

void mallFree();

//      ,  
struct MyFirstStu getInfo();

int main(int argc, const char * argv[])
{
    
    mallFree();
    
    return 0;
    
    //1、       
    struct MyFirstStu c[2] = {{"Q",'T',{232,90}},{"Zhao",'k',{853,96}}};
    //    
    fW(c);
    
    
    struct MySecond sec;
    sec.title[0] = '3';
    gets(sec.title);
    puts(sec.title);

    
    //2、    ,       
    struct MySecond *him;
    him = &sec;  //him         
    //him      ,         *    ->
    him->title[0] = 's';
    (*him).title[1] = 'k';
    
    struct MyFirstStu *him2;
    him2 = &c[0];
    
    
    //3、           
    struct MyFirstStu firStu;
    firStu = c[0];
    
    
    //4   :      char        ,         ;                     char []
    //char                          
    struct MyThread tread = {"dsfsdfa","dfsdaf",11.4f};  //   
    
    char temp[80];
    gets(temp);
    struct MyThread *tread2;
    tread2->title = (char*) malloc(strlen (temp)+1);
    //     
    strcpy(tread2->title, temp);
    //    
    tread2->title = temp;
    free(tread2->title);
    
    return 0;
}

void mallFree()
{
    
    struct namect person;
    getinfo(&person);
    makeinfo(&person);
    showinfo(&person);
    cleanup(&person);

}


void getinfo (struct namect *pstt)
{
    struct namect aa;
    
    struct namect *pst = &aa;
    
    char temp[81];
    gets(temp);
    //           
    pst->fname = (char*)malloc(strlen(temp)+1);
    //             
    strcpy(pst->fname, temp);
    
    gets(temp);
    pst->lname = (char*)malloc(strlen(temp)+1);
    strcpy(pst->lname, temp);
    
    free(pst->fname);
    free(pst->lname);
    
}


typedef 구조체
// 、   typedef    
typedef struct name {
    int a;
    float b;
}Namea;  //   name  ,              struct
//   
    struct name nameS = {3,99.4f};
    Namea aaa = {1,3.22f};

좋은 웹페이지 즐겨찾기