字符指针
一般情况下使用
int main()
{
char ch = 'w';
char *pc = &ch;
*pc = 'w';
return 0;
}
另一种情况下
int main()
{
const char* pstr = "hello bit.";//这里是把一个字符串放到pstr指针变量里了吗?
printf("%s\n", pstr);
return 0;
}
类似于 char arr[]="hello bit.";
arr=pstr
打印字符串也这样
printf("%s",arr);
arr[i]=pstr[i]=*(pstr+i);
const char* pstr="hello bit",实质上说把字符串首元素地址传给pstr指针。
打印时打印pstr的地址就能打印整个字符串,而解引用*pstr只能打印第一个字符
"hello bit."本质上是位于常量区,常量区无法被修改
int main()
{
const char* pstr = "hello bit.";
printf("%s\n", pstr);
*pstr='w';//无法修改
}
比较
const char* p1 = "abcdef";
const char* p2 = "abcdef";
char arr1[] = "abcdef";
char arr2[] = "abcdef";
if (p1 == p2)
{
printf("p1 == p2\n");
}
else
{
printf("p1 !