如何给指针数组 char* test[] 赋值

zgchang 2008-03-18 11:45:54
浏览此帖的绅士你们好:

const char * fsMenuItems[] = {
"1.新建文件",
"2.写文件",
"3.读文件",
"4.删除文件",
"5.格式化",
};
上面是静态赋值
请问如何对上面的指针数组动态赋值呢?
请指教!
...全文
301 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
星羽 2008-03-18
  • 打赏
  • 举报
回复

int main()
{
const char * fsMenuItems[] = {
"1.新建文件",
"2.写文件",
"3.读文件",
"4.删除文件",
"5.格式化",
};
fsMenuItems[0] = "hello hello";
return 0;
}
chenyu2202863 2008-03-18
  • 打赏
  • 举报
回复
你的是赋值即初始化

如果要声明后在复制需要声请空间
tianjiao85 2008-03-18
  • 打赏
  • 举报
回复
动态赋值?
是要分配到堆上的那种吗?那就不行,数组大小固定。
还是:
[Quote=引用 1 楼 Treazy 的回复:]
C/C++ code
char * fsMenuItems[5];
fsMenuItems[0] = "1.新建文件";
fsMenuItems[1] = "2.写文件";
...
[/Quote]
snow_wolf_lake 2008-03-18
  • 打赏
  • 举报
回复
fsMenuItems[]包含的字符串的个数不固定?
HelloDan 2008-03-18
  • 打赏
  • 举报
回复

#include<stdio.h>


int main()
{
const char * fsMenuItems[] = {
"1.新建文件",
"2.写文件",
"3.读文件",
"4.删除文件",
"5.格式化",
};
const char * pt=fsMenuItems[0];
printf("%s\n",fsMenuItems[0]);
fsMenuItems[0]=fsMenuItems[4];
printf("%s\n",fsMenuItems[0]);
printf("%s\n",pt);

return 0;
}
ouyh12345 2008-03-18
  • 打赏
  • 举报
回复
const指针不能动态赋值的
char *msg[5];
msg[1] = new char[20];
.....
Treazy 2008-03-18
  • 打赏
  • 举报
回复

char * fsMenuItems[5];
fsMenuItems[0] = "1.新建文件";
fsMenuItems[1] = "2.写文件";
...
nicky_zs 2008-03-18
  • 打赏
  • 举报
回复

//这是声明:
const char **fsMenuItems;
...

//在程序需要的另一个角落:
fsMenuItems = new const char *[5];
fsMenuItems[0] = "1.新建文件";
fsMenuItems[1] = "2.写文件";
fsMenuItems[2] = "3.读文件";
fsMenuItems[3] = "4.删除文件";
fsMenuItems[4] = "5.格式化";


这就是动态分配了。

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧