在C中的char指针中存储char指针的地址

时间:2017-11-27 03:18:33

标签: c

我正在尝试用C语言实现某些目标,希望你们能告诉我哪里出错了。

所以我的值是一个包含6个const char指针的数组。

    int main() 
    {
      /* values is an array of 6 char pointers */
      const char *values[6] = 
       {
        "Two", 
        "Three", 
        "Four", 
        "Five", 
        "Six", 
        "Seven",
       };
       /* p is a pointer to a char pointer */     
       char *(*p) = &values[0];

    }

我在这里做的是创建一个p,它是一个指向我数组中char指针的指针,并将我数组中第一个char指针的地址存储到p中。

虽然逻辑有效,但我仍然收到一条警告信息:

警告:从不兼容的指针类型中分配

我做错了什么?

1 个答案:

答案 0 :(得分:2)

can't cast a const pointer to non-const

const char *(*p) = &values[0];
^~~~~

这是你应该写的。