网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言学习知识结构体常见使用方法.docx

C语言学习知识结构体常见使用方法.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

/*

/*

C语言结构体(struct)常见使用方法基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。

C语言结构体(struct)常见使用方法

基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物

的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。

结构体定义:

第一种:只有结构体定义

[cpp]viewplaincopy

第二种:附加该结构体类型的“结构体变量”的初始化的结构体定义

[cpp]viewplaincopy

也许初期看不习惯容易困惑,其实这就相当于:

[cpp]viewplaincopy

struct

structstuff{

charjob[20];

intage;

floatheight;5. };

//

//直接带变量名Huqinwei

structstuff{

charjob[20];

intage;

floatheight;

}Huqinwei;

struct

structstuff{

charjob[20];

intage;

第三种:如果该结构体你只用一个变量Huqinwei,而不再需要用[cpp]

第三种:如果该结构体你只用一个变量Huqinwei,而不再需要用

[cpp]viewplaincopy

去定义第二个变量。

那么,附加变量初始化的结构体定义还可进一步简化出第三种:

[cpp]viewplaincopy

掌握这种方法。

结构体变量及其内部成员变量的定义及访问:

绕口吧?要分清结构体变量和结构体内部成员变量的概念。

就像刚才的第二种提到的,结构体变量的声明可以用:

[cpp]viewplaincopy

其成员变量的定义可以随声明进行:

[cpp]viewplaincopy

也可以考虑结构体之间的赋值:

[cpp]viewplaincopy

4.

4.

5.

6.

floatheight;

};

structstuffHuqinwei;

1.

1. structstuffyourname;

1.

1.

2.

3.

4.

5.

struct{

charjob[20];

intage;

floatheight;

}Huqinwei;

把结构体名称去掉,这样更简洁,不过也不能定义其他同结构体变量了

把结构体名称去掉,这样更简洁,不过也不能定义其他同结构体变量了——至少我现在没

1.

1. structstuffyourname;

1.

1. structstuffHuqinwei={manager,30,185};

如果不使用上边两种方法,那么成员数组的操作会稍微麻烦(用for

如果不使用上边两种方法,那么成员数组的操作会稍微麻烦(用for循环可能好点)

[cpp]viewplaincopy

结构体成员变量的访问除了可以借助符号.,还可以用-访问(下边会提)。

引用(C++)、指针和数组:

首先是引用和指针:

[cpp]viewplaincopy

1.

1.

2.

3.

4.

//或

//

structstufffaker=Huqinwei;

structstufffaker2;faker2=faker;

打印,可见结构体的每一个成员变量一模一样

Huqinwei.job[0]=

Huqinwei.job[0]=M;

Huqinwei.job[1]=a;

Huqinwei.age=27;

nbsp;Huqinwei.height=185;

1.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

intmain()

{

structstuffHuqinwei;

structstuffref=Huqinwei;

ref.age=100;

printf(Huqinwei.ageis%d\n,Huqinwei.age);printf(ref.ageis%d\n,ref.age);

structstuff*ptr=Huqinwei;ptr-age=200;

printf(Huqinwei.ageis%d\n,Huqinwei.age);

printf(ptr-ageis%d\n,Huqinwei.age);

14.//既然都写了,把指针引用也加上吧

15.

16.

17.

18.

19.

20.

21.}

structstuff*refToPtr=ptr;

refToPtr

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档