【正确答案】
A
【答案解析】 将字符指针变量初始化为一个字符串有两种方式,一种是通过赋值运算使一个字符指针指向一个字符串常量,如选项A所示:char* str;str='Hello World'。另一种是定义一个字符指针变量,并且将其初始化为一个字符串的首地址,如:char* str='Hello World'。字符指针变量与字符数组都可以用来实现字符串的存储和运算,但二者是有区别的:(1)数组名是一个地址常量,而字符指针变量是一个变量,所以不能给一个数组名赋值,如name='Hello World'是错误的,选项B错误;(2)字符型的指针变量的值是可以改变的;(3)字符指针变量和字符数组在内存中的存储情形不同,数组指的是按照数组长度分配的若干存储空间,而指针只是一个存储字符串首地址的存储空间,所以相同类型的指针可以相互赋值,而数组不能直接用“=”赋值,选项C错误。数组不可以直接赋值字符串,head_line='============='不合法,只有在数组初始化时可以直接赋值,如char head_line[]='=============='合法,并且定义数组时必须指定数组长度,char head_line[]不合法,选项D错误。