C语言_结构体的4种定义初始化方式及案例详解编程语言

结构体是一种构造数据类型 (构造数据类型:数组类型、结构体类型(struct)、共用体类型(union))。用途:把不同类型的数据组合成一个整体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。

第一种:

#include <stdio.h> 
#include <string.h> 
int main() 
{ 
 struct PERSON{ 
     int age; 
     int height; 
     char name[15]; 
 }p1; 
    p1.age = 28; 
    p1.height = 178;  
    strcpy(p1.name, "phper"); 
printf("%d,%d,%s",p1.age,p1.height,p1.name);
}

第二种:

#include <stdio.h> 
#include <string.h> 
struct PSERSON{ 
    int age; 
     int height; 
     char name[15]; 
}p1={ 
    age:28, 
    height:178, 
    name:"phper" 
}; 
printf("%d,%d,%s",p1.age,p1.height,p1.name);
}

第三种:

#include <stdio.h> 
#include <string.h> 
struct PSERSON{ 
    int age; 
     int height; 
     char name[15]; 
}p1={ 
    .age = 28, 
    .height = 178, 
    .name = "phper" 
}; 
printf("%d,%d,%s",p1.age,p1.height,p1.name);
}

第四种:

#include <stdio.h> 
#include <string.h> 
struct PSERSON{ 
    int age; 
     int height; 
     char name[15]; 
}p1={28,178,"phper"}; 
printf("%d,%d,%s",p1.age,p1.height,p1.name); 
}

  结果 

C语言_结构体的4种定义初始化方式及案例详解编程语言

 小案例:

#include <stdio.h> 
#include <string.h> 
struct TEST 
{   
    int age; 
    int height; 
    char name[15];  
};   
       
void function_print(struct TEST p1)   
{   
    printf("%d/n",p1.age);   
    printf("%d/n",p1.height);  
    printf("%s/n",p1.name);    
}   
       
int main() 
{   
    struct TEST test={28,178,"phper"};   
    function_print(test);   
    return 0;   
} 

结果:

C语言_结构体的4种定义初始化方式及案例详解编程语言

———再来一个案例结合注释吸收一下———

#include <stdio.h>   
   
int main() {   
    //定义结构体类型   
    struct Person   
    {   
        int age; 
        int height; 
        char *name;   
    };   
    //初始化的4种方式   
    //1.定义的同时初始化   
    struct Person p1 = {28,178,"phper"};   
       
    //2.先定义再逐个初始化   
    struct Person p2;   
    p2.age = 28;   
    p2.height = 178;   
    p2.name = "phper";   
     
    //3.先定义再一次性初始化   
    struct Person p3;   
    p3 = (struct Person){28,178,"phper"};   
       
    //注意:结构体和数组在这里的区别,数组不能先定义再进行一次性初始化   
    //结构体要明确的告诉系统{}中是一个结构体   
       
    //4.指定将数据赋值给指定的属性   
    struct Person p4 = { .age=28 , .height=178, .name="phper"};   
    //打印结构体中取数据 //拿p4测试  
    printf("%d/n",p4.age); 
    printf("%d/n",p4.height); 
    printf("%s/n",p4.name); 
      
    return 0;   
}  

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/17131.html

(0)
上一篇 2021年7月19日 19:55
下一篇 2021年7月19日 19:55

相关推荐

发表回复

登录后才能评论

WordPress 数据库错误: [Duplicate entry '82-4d3f5343d1f1b32d21fd4fb47d88d6b2' for key 'task_id_source_url_key']
insert into wp_autoblog_queue(task_id,source_url,source_url_key,create_date_time,not_check_stoped,post_interval) values(82,'https://www.idc.net/help/os/linux/page/6438/','4d3f5343d1f1b32d21fd4fb47d88d6b2',1734705176,0,0)