若有语句:char*line[5],以下叙述中正确的是

admin2009-01-15  26

问题 若有语句:char*line[5],以下叙述中正确的是

选项 A、定义line是一个数组,每个数组元素是一个基类型为char的指针变量
B、定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C、定义line是一个指针数组,语句中的*号称为间址运算符
D、定义line是一个指向字符型函数的指针

答案1

解析 理解复杂定义要掌握两点:一、右结合原则.本题中的定义char*line[5];等价于char*(line[5]);;二、自外向内分解成typedef语句。char*(line[5]);等价于typedef char*A;A line[5];其中A被typedef定义成字符指针的别名,然后line被定义成A的一维数组,即字符指针的一维数组。再来看看行指针的定义char(*line)[5];它应该被分解成typedef char B[5];B*line;其中B被定义成包含5个元素的一维字符数组,然后line被定义成指向B的指针,即指向包含5个元素的一维字符数组的指针。所以两者切不可混淆了,后者的括号不能省略。故本题应该选择A。
转载请注明原文地址:https://kaotiyun.com/show/XdHp777K
0

相关试题推荐
随机试题
最新回复(0)