构造一个结构体的问题

lty369963 2013-07-31 09:11:00
我构造了这样一个结构体:
int *preItem;
preItem=new int[level-2];
struct NodePrelevel{
int *preItem;
int FristChild;
int LastChild;
};
struct NodePrelevel Pre[10];
我要想给数组preItem每个元素赋值,如何表示;
假如我给 Pre某行的preItem第一个元素赋值:
Pre[ni].preItem[0]=-1;这么写,不行!
我该如何去写呢?请大侠指点!
...全文
202 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序猿Theg 2013-08-02
  • 打赏
  • 举报
回复
要先让你Pre应该是是结构体吧,那应该先分配内从啊,不然是没有地方来存放你附的值的。
NodePrelevel Pre[10];
//要给某行的第一个元素元素赋值先要确保这个元素有相应的空间
Pre[n].preItem=new int [10];//n为某行,让这行的preItem有10个元素
Pre[n].preItem[0]=x;//x为你想要的值
其实楼主也直接可以不把结构中的preItem定义为指针,可以直接定义为数组,这样就不用每次都分配存储空间,而且还要用delete来管理内存。但是这样的一个弊端就是存储空间会不灵活,容易有益处或者浪费。
_暮落_ 2013-08-02
  • 打赏
  • 举报
回复
int *preItem;
preItem=new int[level-2];
for(int n=0;n<level-1;n++)
Pre[n].preItem=preItem;
_暮落_ 2013-08-02
  • 打赏
  • 举报
回复

 int *preItem;
preItem=new int[level-2];
for(int n=0;n<level-1;n++);
Pre[n].preItem=preItem;
图灵狗 2013-08-01
  • 打赏
  • 举报
回复
用malloc分配空间之后,就可以Pre[ni].preItem[0]=-1这样操作了。
引用 楼主 lty369963 的回复:
我构造了这样一个结构体: int *preItem; preItem=new int[level-2]; struct NodePrelevel{ int *preItem; int FristChild; int LastChild; }; struct NodePrelevel Pre[10]; 我要想给数组preItem每个元素赋值,如何表示; 假如我给 Pre某行的preItem第一个元素赋值: Pre[ni].preItem[0]=-1;这么写,不行! 我该如何去写呢?请大侠指点!
JoeBlackzqq 2013-08-01
  • 打赏
  • 举报
回复

for(int i = 0; i < 10; i++)
{
	Pre[i].preitem = NULL;
}
赵4老师 2013-08-01
  • 打赏
  • 举报
回复
Pre[0].preItem=preItem;
max_min_ 2013-07-31
  • 打赏
  • 举报
回复

struct NodePrelevel{
int *preItem;  // 这个是没有内存空间的,你要赋值之前先得分配空间给这个int指针
int FristChild;
int LastChild;
};

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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