在以下上下文中指针和数组有什么区别?

yes*_*aaj 4 c++ arrays pointers strcpy

#include <cstring>
int main()
    {
    char *pName = new char[10];
    char dummy[] = "dummy";
    strcpy(pName + 0,dummy);//how this is different from -->this works
    strcpy(pName[0],dummy);//this one...--> error C2664: 'strcpy' : 
                           //cannot convert parameter 1 
                           //from 'char' to 'char *'

    }
Run Code Online (Sandbox Code Playgroud)

Dan*_*oof 12

  • pName [0]是字符数组中的第一个元素(一个字符)
  • pName是&pName [0]的快捷方式(指向数组第一个元素的指针)

你得到错误的原因是因为strcpy需要一个指向char(char*)的指针,而不是char值(这是pName [0]是什么)

  • @yesraaj:是的.pName [5]与*(pName + 5)相同. (3认同)