数据类型和结构

时间:2010-04-30 14:28:49

标签: c++ struct types

我正在复习测试,我被这个问题困扰了。

考虑以下声明:

enum CategoryType {HUMANITIES, SOCIALSCIENCE, NATURALSCIENCE}; 
const int NUMCOURSES = 100; 
struct CourseRec 
{ 
         string courseName; 
         int courseNum; 
         CategoryType courseCategory; 
}; 
typedef CourseRec CourseList [NUMCOURSES]; 
CourseList courses; 
int index1, index2; 
  1. 表达式[index1] .courseName [index2]的数据类型是什么?
  2. (a)CourseList (b)CourseRec (c)字符串 (d)char (e)无;表达式在语法上无效

    我认为答案是字符串,因为courseName是一个字符串,甚至可能是CourseRec,因为它在结构中,但答案是(d)char。为什么这是char数据类型?非常感谢任何帮助。

2 个答案:

答案 0 :(得分:8)

让我们一步一步走:

courses [index1] .courseName [index2]

  • 课程是CourseRec
  • 的数组
  • 课程[index1]为CourseRec
  • courses [index1] .courseName是string
  • courses [index1] .courseName [index2]为char *

* - 实际上是char&

答案 1 :(得分:0)

字符串是一个char数组,因此取任何字符串[0]会返回字符串数组第一个位置的字符。