指针是无法存放字符串的,只有指针指向的那块空间才能存放字符串,所以我第一句话给它开辟了20个空间,这样就可以给指针指向的那块空间赋值了,谢谢 另外给你一个建议 char *a = NULL,*b =NULL,*c =NULL;这样的写法是不规范的,很容易出错。标准形式应该是char *a= NULL;char *b = NULL;char...
char* a="abc";——创建一个常字符串abc,将第一个字符的地址赋给char *型指针a。这有不妥?什么类型的指针都可以赋值,不能赋值的指针怎么工作?比如int a,*k=&a,*q=k;。
指针是指指向某一数据类型的地址。*(p+2)代表字符型ccc这个数据类型的地址。我是这样的理解的。
1、已知定义“int x = 1, *p”,则合法的赋值表达式是( )。 A、p = &x B、p = x C、*p = &x D、*p = *x 2、在C语句中,&后跟指针变量名,表示该指针变量的(( )。 A、值 B、别名 C、地址 D、类型 3、执行“char a[10]={"abcd"},*p=a;”后,*(p+4)的值是( )。 A、字符ˊd...
char *p[3]={"a","bb","ccc"};应该理解为char* 指针类型 p[3]也就是指向 字符串的大小为3的指针数组。p存的是指向字符串的指针 那么*(p+2) 则指向的是 "ccc" 这个字符串数组。直观点我们可以这样看 "a" 内存地址是 A "bb" 内存地址是B "ccc" 内存地址是C 那么p 数组 存的实际...