[英]How do I create an array of pointers in c++
我正在尝试使用我在课堂上的教授示例创建一个指针数组。 我似乎无法让它工作。
char * ISBN[] = {
"1-214-02031-3",
"0-070-21604-5",
"2-14-241242-4",
"2-120-12311-x",
"0-534-95207-x",
"2-034-00312-2",
"1-013-10201-2",
"2-142-1223",
"3-001-0000a-4",
};
这是我的教授声明一个 char 类型指针数组的例子。 他说这是我们应该为任务做的事情。 可悲的是,我收到错误 - 错误(活动)E0144 类型“const char *”的值不能用于初始化类型为“char *”的实体 -
我之前问过这个问题,有人说 char * 已被弃用。 但是教授说这是我们应该在作业中使用的声明。 我将如何尝试弄清楚如何让这个数组工作? 这个声明到底在做什么?
const char * ISBN[] = {
"1-214-02031-3",
"0-070-21604-5",
"2-14-241242-4",
"2-120-12311-x",
"0-534-95207-x",
"2-034-00312-2",
"1-013-10201-2",
"2-142-1223",
"3-001-0000a-4",
};
我想我只需要在char *
前面添加const
。 我还有很多东西要学。 谢谢大家。
这仅仅是因为您试图将字符串文字分配给 char 指针。在 c++ 中,字符串文字是 const char 指针,因为字符串文字存储在只读内存中。另一个原因是为了优化编译器(仅存储一个文字实例在源代码中重复多次)。 所以你会得到多个指向同一内存的指针,而不是每个指针都占用一个单独的内存块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.