码迷,mamicode.com
首页 > 其他好文 > 详细

C基础--结构体

时间:2016-01-19 00:09:28      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

C语言,结构体语法:

1.定义结构体类型:

struct 结构体名称

{

  成员类型  成员名称1;

  成员类型  成员名称2;

  ...

};

例:struct Date

{

  int year ;

  int month ;

  int day ;

}

2.结构体在内存中

例一:

struct Student

{

  char *name;//指针占8个字节

  int no;//int占4个字节

  int age;//int占4个字节

};

struct Student s1 ;

int length = sizeof(s1);//得到的长度是16

例二:

struct Student

{

  int age ;//占4个字节

  char sex ;//占1个字节

};

struct Student s2;

int length = sizeof(s2);//得到的长度是8

总结:默认情况下,一个结构体变量所占用的存储空间是所有成员的总和。

   sizeof计算结构体所占用存储空间时,返回值必须是最大成员的倍数。

3.结构体数组:

struct Record

{

  int no;//排名

  char *name;

  int score;

};

struct Record records[3]=

{

  {1, "jack", 10},

  {2, "jim" ,9},

  {3, "tom" ,5}

};

4.指向结构体类型的指针(注意:结构体作为函数参数时,只是成员的值传递,修改函数内部的结构体,并不影响外面的结构体)

定义结构体 

struct Date

{

  int year;

  int month;

  int day;

};

//指向结构体的指针

struct Date mydate = {2016,1,16};

struct Date *p ;

p=&mydate;

//给指针变量p所指向的结构体的year成员赋值

//方法一:(*p).year=2000;

//方法二:p->year=2000;

C基础--结构体

标签:

原文地址:http://www.cnblogs.com/gchlcc/p/5140816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!