当前位置:C++技术网 > 资讯 > C的结构体——知识掌握要点

C的结构体——知识掌握要点

更新时间:2015-06-29 23:00:50浏览次数:1+次

C的结构体

难度 1/5 技巧0/5 -适合入门

很多人大学里面就是学C开始的,结构体的基本概念也是由

typedef struct name

{

}structname;

这样的形式来表现的。其实C++的结构体和C的结构体意义上是有很大区别的,C++有类的概念,而C是结构化。两种是不同的,无论是从使用技巧或者灵活性来说,请区别好。当然你一开始学习发现两者很相似,确实用法很相似,内存排布也很相似。我们只能用相似来形容,而不能说一样。

以后几篇文章会说出C语言结构体 C++结构体,具体有什么不同。

这篇文章主要是C的结构体

结构体有这么几点要学习和掌握的。并不是没用,在某些场合还是很有用处的。

1、结构体的命名(风格、规范)

2、结构体的指针(入门)

3、结构体里面的联合体(入门)

4、结构体的大小(十分重要,工作会用到)

5、结构体的对齐(十分重要,工作会用到)

一、结构体的命名

这个书上写的很清楚,也是我们一开始入门要学的

typedef struct name

{

}structname;

 

windows编程上面我们通常会看到:

typedef struct

{

}STRUCTNAME*LPSTRUCTNAME;

注意后面的是*(指针类型)。我们看到的LP就是说明是指针的。

 

我本人的命名规则,在前面加一个S以区别其他的类型

typedef Sstruct name

{

}SSTRUCTNAME

 

二、结构体的指针

typedef struct name

{

Int a;

Int b;

}Structname;

Structname temple; //简单的声明结构体

Structname *s = *temple; //取指针

s->a = 1;

s->b = 2;

这样,我们就可以修改获取s指针所指向的ab成员的值。最简单的结构体使用。

三、结构体里面的联合体

给出我们群的文章

宏、常量、枚举、结构体和共用体对比分析之共用体》——作者:dx

 

四、结构体的大小

关于结构体的大小,百度以后会有一大堆,这里就不再熬述了。

给出我们群的文章 

关于结构体内存分配对齐深入理解——作者:小峰峰

五、结构体的对齐(十分重要)

关于对齐也是又很多资料可以查

给出我们群的文章

关于成员对齐方式》——作者Stromshadow