c和c++中的struct有什么不同

c和c++中的struct有什么不同,第1张

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语言中的这个是什么意思啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10178379.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存