指针变量的值是地址,解引用*才是值
B在本题中,程序段首先定义了一个字符型数组str,并将其初始化为“ABC”,然后定义一个字符型的指针变量p,使其指向数组str的首地址。然后程序运行输出语句,从输出语句的输出格式可以看出,要求输出的是一个十进制数值,而输出列表中的*(p+3)表示输出的是数组str中的第四个元素,从数组的初始化我们可以看出,其中...
如为 char p[5];则在表达式中使用时,p是一个常量指针,不能给它赋值,只能在它定义时进行初始化。"ABC"是一个字符串常量,在表达式中使用时,它也是一个指向字符的常量指针。但 char p[]="ABC"; 是可以的,这时可以自动判断字符数组p的长度为多少 ...
将字符型指针变量指向字符串也有两种方法,一是在定义指针变量时就给其赋初值,比如:char*p="student"二是给指针变量赋值,比如:p="student";(p已经被定义为字符型指针变量:),故选项D正确,而选项C中的花括号是多余的,应该去掉,所以,4个选项中选项D符合题意。
2.字符串常量的类型可以理解为相应字符常量数组的类型,如"abcdef"的类型就可以看成是const char[7] 。 3.如果真的需要使用"abcd"作为指针,建议写为const char * p="abcd"; 4.如果是初始化字符串数组,建议写为char p[]="abcd"; 5.如果p为指针,需要初始化,应该是char *p;p=malloc(STR_SIZE);strcpy(...
B.使指针b指向a所指字符串C.将a所指字符串和b所指字符串进行比较D.检查a和b所指字符串中是否有'\0' 免费查看参考答案及解析 题目: 以下函数的功能是__ ABC(ps) char *ps; {char *P; p=ps; while(*p++); return(p-ps); }A.比较两个字符串的大小B.求字符串的长度C.将字符串ps复制到P中D.以上...
char*是一个指针,例如:char* s1 = "abc",s1是一个指针,指向一个字符串常量“abc",s1这个指针可以被修改,但是字符串常量不可被修改,如果修改s1的内容,如s1="123",修改的并不是”abc”的内容,而是将s1的指针指向了新的地址。可以通过对char*类型进行解引用获得位于第一个的元素,如*s1=‘a',并且可以用过...
设有定义: char *a[2]={"ABC","123"}; 则以下说法正确的是: A.a数组的两个元素分别存放两个字符串的首地址B.a是指针变量,它指向含有两个数组元素的字符型一维数组C.a数组两个元素的值分别是"ABC"和"123"D.定义有误相关知识点: 试题来源: 解析 A.a数组的两个元素分别存放两个字符串的首地址 ...
a.定义char*string=china中的string是一个字符串变量,其值为china b.若有一个多维数组a,则*(a+i)与a[i]等价 c.int(*p)[4]表示p为指针变量,它指向包含4个元素的一维数组 d.数组名代表数组的首地址,固定不变。指针变量可通过指向数组首地址来代表对应的数组,但其值可以改变 免费查看参考答案及解析 题目...
A. int*P;*P=20;[指针不可以是变量] B. char*s=“abcdef”;printf(“%s\n”,S); C. char str[]=“abcdf”;printf(“%S”,str);[未说明长度] D. 相关知识点: 试题来源: 解析 B.char*s=“abcdef”;printf(“%s\n”,S); 反馈 收藏 ...