一个指针的问题
#include <iostream>
using namespace std;
int main()
{
char *p= "abcd ";
cout < < "*p= " < <*p < < ",p= " < <p < <endl;
system( "pause ");
}
为什么*p=a,而p=abcd?
[解决办法]
p是字符指针 *p 对指针p进行解引用 就变成字符a了
cout < <p 结果为 abcd
[解决办法]
P既是数组名也是首地址,*P当然代表P[0]里的内容,如果是*(P+1)则是P[1]的内容
而P则代表整个字符串
[解决办法]
P既是数组名也是首地址,运算符*称为取内容运算符,该运算符的运算结果为取其操作数所指向内存单元的值,所以*P代表P[0]里的内容.而P则代表整个字符串.
[解决办法]
*P 表示P[0] P表示整个字符串