1赋值只是把字符串的首地址赋给p , 而不是把字符串赋给 p, p 是一个指针变量, 它不能存放一个字符串, 只能存放一个地址
2输出字符串:
对于字符数组a printf("%s\n" , a) ;//这是我们熟悉的
对于指向字符串的字符指针p printf("%s\n" , p ) ;//p存放的是字符串的首地址,相当于a
输出字符串时, 先输出p 指向的第一个字符, 然后系统自动使p指向下一个字符, 再输出该字符, 直到遇到'\0' 为止。
3循环逐个输出字符串中的字符
#include<stdio.h>
int main()
{
char a[100]="hello";
char *p=a;//使指针变量p指向a【0】
while(*p)
{
printf("%c\n",*p);
p++;
}
return 0;
}