下列程序片段中不正确的字符串赋值或初始化方式是( )。

admin2014-10-20  26

问题 下列程序片段中不正确的字符串赋值或初始化方式是(    )。

选项 A、char*str=“string”;
B、char str[7]={’S’,’t’,’r’,’i’,’12’,’g’,’\O’};
C、char str[10];str=“string”;
D、char str[]=“string”;

答案C

解析 虽然使用字符数组和字符串指针都能实现对字符串的操作,但二者是有区别的,主要区别如下:①存储方式的区别字符数组由若干元素组成,每个元素存放一个字符,而字符串指针中存放的是地址(字符串的首地址),绝不是将整个字符串放到字符指针变量中。②赋值方式的区别对字符数组只能对各个元素赋值,不能用下列方法对字符数组赋值。char strrl6];str=“I am a stladent.”:但若将str定义成字符串指针,就可以采用下列方法赋值。char*str:str=“I am a student.”:③定义方式的区别;定义一个数组后,编译系统分配具体的内存单元,各单元有确切的地址。定义一个指针变量,编译系统分配一个存储地址单元,在其中可以存放地址值,也就是说,该指针变量可以指向一个字符型数据。但在对它赋予一个具体地址值前,它并未指向哪一个字符数据。
转载请注明原文地址:https://kaotiyun.com/show/V0vR777K
0

最新回复(0)