C++结构体

软件和网站开发以及相关技术探讨
回复
头像
caprix
帖子: 21
注册时间: 2008-11-12 10:28
联系:

C++结构体

#1

帖子 caprix » 2009-08-14 20:38

在看代码的时候 总能看到

struct name
{
......
}name1 , name2,*p;


它后面的name1 ,name2和*p 都有什么含义吗?

是它的另外的别名吗?

那个指针是不是指向结构体的名字的一个指针呢?

像结构体能这样做,那class是不是也能这样呢?

学哥\学姐帮忙解答一下,谢谢了!
头像
wenstream
帖子: 186
注册时间: 2008-06-18 22:02

Re: C++结构体

#2

帖子 wenstream » 2009-08-14 21:05

easy,

代码: 全选

struct name  //  name  <-- 结构标签(名字)
{
    ......
}name1 , name2,*p;   // name1, name2 <-- 变量定义, *p <-- 指针定义
别名可以用typedef来定义
头像
linjiework
帖子: 240
注册时间: 2009-07-07 19:52

Re: C++结构体

#3

帖子 linjiework » 2009-08-15 13:23

楼上已经解释很清楚了。我补充两句:

“那个指针是不是指向结构体的名字的一个指针呢?”你这个说法很怪异啊,指针是指向结构体的,不知道你说的“指向结构体的名字”是啥意思。

“像结构体能这样做,那class是不是也能这样呢?” class 和结构体有很大的差异,不管能不能这样做,都不建议这样写代码。貌似 class 也可以这么做,不过我没这么做过,不确定!
阿呆 : 天下第一呆!
头像
x007007007
帖子: 406
注册时间: 2007-11-07 17:53
系统: Mac
来自: shanghai
联系:

Re: C++结构体

#4

帖子 x007007007 » 2009-08-15 14:06

C下的飘过
CPP还用结构?除非你是要兼容C
人生来只做的两件事:
1.犯错
2.改错
只犯错不改错的是魔鬼,只改错不犯错的是上帝
总之,都不是人!!!!!!!!!!!!!
我的地盘
afox800
帖子: 200
注册时间: 2009-08-02 7:44
来自: 圣彼得堡

Re: C++结构体

#5

帖子 afox800 » 2009-08-15 14:38

x007007007 写了:C下的飘过
CPP还用结构?除非你是要兼容C
反对一下哈 :em04
C++ 下的结构就是类,是默认属性为公开的类而已。

struct name1{
type var_1;
type var_2
};

等同于

class name1{
public:
type var_1;
type var_2;
...
};

:em05 仅此而已
头像
x007007007
帖子: 406
注册时间: 2007-11-07 17:53
系统: Mac
来自: shanghai
联系:

Re: C++结构体

#6

帖子 x007007007 » 2009-08-15 21:03

afox800 写了:
x007007007 写了:C下的飘过
CPP还用结构?除非你是要兼容C
反对一下哈 :em04
C++ 下的结构就是类,是默认属性为公开的类而已。

:em05 仅此而已
你拿结构封装函数?
机构不是类,要是也只是真子集 :em02
人生来只做的两件事:
1.犯错
2.改错
只犯错不改错的是魔鬼,只改错不犯错的是上帝
总之,都不是人!!!!!!!!!!!!!
我的地盘
头像
wenstream
帖子: 186
注册时间: 2008-06-18 22:02

Re: C++结构体

#7

帖子 wenstream » 2009-08-15 21:16

C++里的struct可以有成员函数
头像
caprix
帖子: 21
注册时间: 2008-11-12 10:28
联系:

Re: C++结构体

#8

帖子 caprix » 2009-08-15 21:41

:em11
头像
x007007007
帖子: 406
注册时间: 2007-11-07 17:53
系统: Mac
来自: shanghai
联系:

Re: C++结构体

#9

帖子 x007007007 » 2009-08-16 1:33

总不如类吧?总之我记得少了什么,是不是不能设施私有,不能继承?
总之高二看书上说不建议使用,除非你想使用C
CPP太麻烦,还是C来得快,现在我干脆搞不懂模板是怎么回事,还有可恶的构析还是西沟函数,最可恶的是VC你又不得不在买本书学,还是GCC来的快,不过谁有Gtk中文手册?我这几天看devhelp已经够了
人生来只做的两件事:
1.犯错
2.改错
只犯错不改错的是魔鬼,只改错不犯错的是上帝
总之,都不是人!!!!!!!!!!!!!
我的地盘
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: C++结构体

#10

帖子 BigSnake.NET » 2009-08-17 14:09

x007007007 写了:总不如类吧?总之我记得少了什么,是不是不能设施私有,不能继承?
总之高二看书上说不建议使用,除非你想使用C
CPP太麻烦,还是C来得快,现在我干脆搞不懂模板是怎么回事,还有可恶的构析还是西沟函数,最可恶的是VC你又不得不在买本书学,还是GCC来的快,不过谁有Gtk中文手册?我这几天看devhelp已经够了
除了默认的成员访问方式不同, 完全一样.
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
qh_wjl
帖子: 3
注册时间: 2009-08-19 16:39

Re: C++结构体

#11

帖子 qh_wjl » 2009-08-21 14:50

后面的name1,name2是用前边所声明的name结构体类型定义的变量,p是定义的指向name结构体类型的指针变量。
头像
CGer
帖子: 210
注册时间: 2009-06-21 19:38
来自: CUMT

Re: C++结构体

#12

帖子 CGer » 2009-08-21 16:11

学习了 :em01

代码: 全选

sudo apt-get install girlfriend
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
有一些软件包无法被安装。
下列的信息可能会对解决问题有所帮助:
下列的软件包有不能满足的依赖关系:
girlfriend: 依赖: house但是它将不会被安装
girlfriend: 依赖: car但是它将不会被安装
house,car: 依赖: money但是它将不会被安装
E: 无法安装的软件包
[/b]
回复