我正在尝试理解C ++中的指针,但目前对以下内容感到困惑:
char input_line[] = "hi?";
char* p;
p = &input_line;
while (*p)
{
cout << *p << endl;
*p++;
}
Run Code Online (Sandbox Code Playgroud)
我必须在这里混淆,因为我认为这表示分配的地址一维数组的指针 ; 但是,当我尝试编译它时,出现错误: error: cannot convert char (*)[4]' to 'char*' in assignment p = &input_line;
看来我应该这样做:
const char input[] = "test?";
int quest_count = 0;
const char *i = input;
while(*i){
cout << *i << endl;
*i++;
}
Run Code Online (Sandbox Code Playgroud)
这对我来说没有任何意义,因为您正在为存储地址的指针分配一个char 数组。char