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

各位麻烦看一下如何输不出来结构体成员的值?多谢了

2012-04-05 
各位麻烦看一下怎么输不出来结构体成员的值?谢谢了structqq{charname[]intage}intmain(intargc,char*ar

各位麻烦看一下怎么输不出来结构体成员的值?谢谢了
struct   qq
{
                char   name[];
                int   age;
};

int   main(int   argc,   char*   argv[])
{

            qq   q;
            strcpy(q.name, "张三 ");
            q.age=22;
            cout < <q.name < <endl;//怎么不能输出张三啊?前面不是已经赋值了吗?
            cout < <q.age < <endl;

            cin.get();
            return   0;
}

[解决办法]
struct qq
{
char name[];//只是个空指针,没有分配空间,strcpy(q.name, "张三 ")会出错
int age;
};
-----------------------------------------
struct qq
{
char name[20];//这样试一下
int age;
};
[解决办法]
或者动态分配空间:

#include <iostream.h>

struct qq
{
char *name;
int age;
};

int main(int argc, char* argv[])
{

qq q;
q.name=(char*)malloc(20);
strcpy(q.name, "张三 ");
q.age=22;
cout < <q.name < <endl;
cout < <q.age < <endl;
free(q.name);
cin.get();
return 0;
}

热点排行