根据你的意思,可以如下定义:
struct Student{
char number[20]
char name[20]
float math
float english
float history
}
class a{
private:
struct Student stu
}
扩展资料:
在C语言中,可以定义结构体类型,将多个相关的变量包装成为一个整体使用。在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型。
在C语言中,结构体不能包含函数。在面向对象的程序设计中,对象具有状态(属性)和行为,状态保存在成员变量中,行为通过成员方法(函数)来实现。
C语言中的结构体只能描述一个对象的状态,不能描述一个对象的行为。在C++中,考虑到C语言到C++语言过渡的连续性,对结构体进行了扩展,C++的结构体可以包含函数,这样,C++的结构体也具有类的功能,与class不同的是,结构体包含的函数默认为public,而不是private。
C++中的结构体与类的区别
类与结构体在C++中有三点区别。
(1)class中默认的成员访问权限是private的,而struct中则是public的。
(2)从class继承默认是private继承,而从struct继承默认是public继承。
(3)C++的结构体声明不必有struct关键字,而C语言的结构体声明必须带有关键字(使用typedef别名定义除外)。
参考资料:百度百科-结构体
struct student{char name
int number
struct student *next
}
这样你定义了三个字段,姓名,number
我不知道你为什么这么定义,如果是我可能这么定义
struct student {
char name/*学生姓名*/
int 性别/*1代表femail (女性), 0 代表mail(男性)*/
int age
struct student *next/*为了用链表实现而采用*/
};
这样完全可以实现你需要的数据类型.只需要再加上一些算法就可以了.
如果还有什么问题可以与我联系.
一般工业上都会使用 typedef 来定义公司内部的统一定义如
typedef struct student {
}
没学过数据结构?那你们老师在干嘛?数据结构不应该是和语言同步进行的吗?struct A //这就是个结构体,包含数据域和指针域
{
int a//数据域,可以是任何类百型的。
char b//数据域
A *p//指针域,就是struct A类型。
}链表,一般是动态的。你要静态的就不用malloc分配就行了。定义N个struct
A就行了。
struct A a1
struct A a2
struct A a3
struct A a4
//a1作为第一个节点
a1->next = a2
a2->next = a3
a3->next = a4
a4->next = NULL
//插入,在a2后面插入a5
struct A a5
a5->next = a2->next
a2->next = a5//注意指针的赋值顺序。虽然全部是度静态的问题不大。动态分配的时候不仔细会造成断链,内存溢出。
//删除a5
a2->next = a5->next//静态不存在释放的问题,动态申请的请释放a5;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)