首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个关于结构体字符数组元素赋值的有关问题

2012-02-28 
一个关于结构体字符数组元素赋值的问题别人问我一个问题,代码如下#include iostreamusingnamespacestds

一个关于结构体字符数组元素赋值的问题
别人问我一个问题,代码如下
#include <iostream>
using   namespace   std;

struct   pizza
{
char   company[3];
double   diameter;
double   weight;
};

int   main()
{
pizza   *ps   =new   pizza[3];
ps[0].company= "qq ";
ps[0].diameter=1.2;
ps[0].weight=1.2;  
           
ps[1].company= "w ";
ps[1].diameter=2.2;
ps[1].weight=2.2;    

ps[2].company= "e ";
ps[2].diameter=3.2;
ps[2].weight=3.2;                  

cout < <ps[0].company < <endl;
cout < <ps[0].diameter < <endl;
cout < <ps[0].weight < <endl;

cout < <ps[1].company < <endl;
cout < <ps[1].diameter < <endl;
cout < <ps[1].weight < <endl;

cout < <ps[2].company < <endl;
cout < <ps[2].diameter < <endl;
cout < <ps[2].weight < <endl;

delete   []ps;

cin.get();
cin.get();
return   0;                                                                                                                                                                                                                                                                                                                      
}
以上的错误应该是字符数组常量问题(我用java较多,c++还是以前看的一点印象),ps[0].company= "qq ";这样对字符串常量的操作语句肯定不行。我将结构体内的char   company[3];改为char   *company;调试通过。
我的问题是,如何不改动结构体定义,即还用char   company[3];,修改赋值语句,通过指针来赋值?(不知道如何获得company元素的指针)
说的乱七八糟,不知大虾们明白了吗?

只要说清楚问题马上给分~

[解决办法]
用strcpy代替=,注意數組大小

热点排行