C语言结构体

本文详细介绍了C语言中的结构体,包括结构体的概念、定义、变量的定义与初始化,以及结构体指针的使用。讲解了静态与动态内存初始化、结构体数组、结构体作为函数参数的方式,并探讨了typedef关键字的应用及其与#define的区别。文中还通过实例说明了结构体内存分配原则和计算结构体长度的方法。
摘要由CSDN通过智能技术生成

一. 结构类型:

1. 概念: 结构由一组不同的数据组成的.

2. 定义:  struct 结构名

            {

                      数据类型 成员名1;

                      数据类型 成员名2;

                      ……

                      数据类型 成员名n;

                 };

例如:

struct person{

char  Name[100] ;

        int Age ;

        char  Sex ;

};

二. 结构变量的定义和初始化:

1. 定义: struct person Wang ;

初始化: struct person Wang = {…} ;

2. 定义:

struct person

        {

            …;

        }Wang ; 

※ 当结构名不写的时候, 必须用第二个定义方法.

三. 指向结构变量的指针:

      (1). 一般形式为: 结构名 *结构指针变量名;  (相当于声明)

                             结构名 *结构指针变量名=&结构变量;  (相当于定义)

           如: struct stPerson *pWang = &Wang ;

             ①. 静态内存初始化:

                  a. struct stPerson *pWang = {…} ;   // 错误!

                  b. struct stPerson Wang = {…} ;

                      *p= Wang ;                      // 正确.

             ②. 动态内存初始化:

                   struct stPerson *pWang = (structstPerson*) malloc ( sizeof(struct stPerson) ) ;

                   strcpy( pWang->m_szName,“laoWang” ) ;   //  赋值.

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值