IntelliSense错误C编程

时间:2014-05-31 09:38:44

标签: c

我正在处理C分配并且正在为以下代码获取一些错误

char BA[20] = "Hellow there";
char *pBA;
*pBA = &BA;

*和&下面有一条红线在代码的第三行。我收到了这些错误:

  1. IntelliSense:此声明没有存储类或类型说明符
  2. 智能感知:类型" char(*)[20]"不能用于初始化类型" int *"的实体。
  3. 无论如何要解决这个问题?

2 个答案:

答案 0 :(得分:0)

这样做的好方法是 -

char BA[20] = "Hellow there";
char (*pBA)[20] = &BA; 

OR

char BA[20] = "Hellow there";
char (*pBA)[20] = NULL;
*pBA = &BA;

也就是说,指向数组的指针在C中很少见,而是使用指向指针的指针。

答案 1 :(得分:-2)

实际上,错误在第3行。

char BA[20] = "Hellow there";
char *pBA;
pBA = BA;   //Note :- Address must be passed to a pointer, not to value at the pointer, *pBA means value at pBA

这将解决您的目的!我希望你找到了你的错误。