
c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以。c++中struct和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private
c语言struct里还有struct,这个是可以有的。比如,定义一个student结构体,里面包含姓名、学号、成绩等,还包含一个出生日期结构体birthday,其中包含出生年、月、日。
这个birthday结构体,可以在student结构体的内部定义,也可以在它的外部定义的。
结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。在C语言中,可以定义结构体类型,将多个相关的变量包装成为一个整体使用。在面向对象的程序设计中,对象具有状态(属性)和行为,状态保存在成员变量中,行为通过成员方法(函数)来实现。
结构体 struct实现方法上和数组是一样的,即每一个成员的访问是直接寻址方式。在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型。在C语言中,结构体不能包含函数。
扩展资料:
在C语言中,结构体不能包含函数。在面向对象的程序设计中,对象具有状态(属性)和行为,状态保存在成员变量中,行为通过成员方法(函数)来实现。C语言中的结构体只能描述一个对象的状态,不能描述一个对象的行为。
参考资料来源:百度百科-struct
结构类型定义和结构变量的说明。
1在实际问题中,一组数据往往具有不同的数据类型,例如, 在学生登记表中,姓名应为字符型,学号可为整型或字符型。
2年龄应为整型,性别应为字符型,成绩可为整型或实型,显然不能用一个数组来存放这一组数据, 因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。
3为了解决这个问题,C语言中给出了另一种构造数据类型结构,它相当于其它高级语言中的记录。
4结构是一种构造类型,它是由若干成员组成的,每一个成员可以是一个基本数据类型或者又是一个构造类型。
5结构既是一种构造而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它,如同在说明和调用函数之前要先定义函数一样。
下面那个struct你就看做是上面struct stu的一个数据 struct stu { char name[20]; struct good_stu { char name[20]; int age; }; }; 等于就是个嵌套··if语句里再有if语句一样,不过访问里面的年龄的时候就稍微麻烦些,应该这样去访问 struct st
#include"stdioh"
struct student_
{ char name[11];
char number[11];
int score[11];
};
int main()
{ int i,n,max,min;
scanf("%d",&n); //有更改
struct student_ a[n]; //有更改
for(i=0; i<n; i++)
{ scanf("%s%s%d",&a[i]name,&a[i]number,&a[i]score); //有更改
}
max=min=0;
for(i=1; i<n; i++)
{ if(a[max]score<a[i]score)
{ max=i;
}
if(a[min]score>a[i]score)
{ min=i;
}
}
printf("%s %s\n",a[max]name,a[max]number);
printf("%s %s\n",a[min]name,a[min]number);
return 0;
}
以上就是关于c和c++中的struct有什么不同全部的内容,包括:c和c++中的struct有什么不同、c语言struct里还有struct、struct :c语言中的这个是什么意思啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)