荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bakey (深海的鱼爱上会潜水的猫), 信区: Program
标  题: [合集]问一个很简单的c问题
发信站: 荔园晨风BBS站 (2005年06月03日00:29:24 星期五), 站内信件

☆   1  ──────────── 我是分割线 ─────────────────☆
发信人: Chengal (大四了,需要充足的睡眠), 信区: Program
标  题: 问一个很简单的c问题
时  间: Tue Sep  9 09:17:54 2003


typedef struct{
        int no;
        char title[33];
        }*Book;/*指向该结构体的指针类型*/
Book book1;/*这里没有错吧*/
book1->no=3;/*这里出错了,为什么?提示:Possible use 'book1' before difinition
in function **/
请赐教呵呵


☆   2  ──────────── 我是分割线 ─────────────────☆
发信人: littlebao (爱拼才会赢), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 10:08:51 2003


没有指向对象

typedef struct{
        int no;
        char title[33];
}*Book , MyStruct ;

Book pBook = new MyStruct ;
pBook->no = 3 ;



☆   3  ──────────── 我是分割线 ─────────────────☆
发信人: Chengal (大四了,需要充足的睡眠), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 10:19:52 2003

Book不是指向结构体的指针类型吗?那么
执行Book book1;不是声明了一个指向该结构的指针吗?
还有。上面的错误可以通过下面的修改通过:

在Book book1;后加上一句book1=(Book*)malloc(sizeof(Book));
为什么呢?这句也没有对象啊,只是分配了空间而已




☆   4  ──────────── 我是分割线 ─────────────────☆
发信人: Chengal (大四了,需要充足的睡眠), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 10:24:03 2003


有点明白了,你是c++描述。
谢谢



☆   5  ──────────── 我是分割线 ─────────────────☆
发信人: Chengal (大四了,需要充足的睡眠), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 10:34:34 2003


不过你那样子不够简练吧,经过试验下面这段终于通过了。
 typedef struct{
        int no;
        char title[33];
        }*Book;/*a pointer to Structure*/
Book book1;/*book1 is a pointer now*/
book1=(Book)malloc(sizeof(Book));
book1->no=3;
/******c Description*****/



☆   6  ──────────── 我是分割线 ─────────────────☆
发信人: littlebao (爱拼才会赢), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 10:38:35 2003

Book book1;只是声明了一个指针,book1所指向的内容是未知的你应该使他指向一个
对象,或者为他分配空间。
sizeof(Book)得到的是指针的长度,在32位机里是4个字节,应该用sizeof(MyStruct)




☆   7  ──────────── 我是分割线 ─────────────────☆
发信人: Chengal (大四了,需要充足的睡眠), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 10:47:40 2003


恩,明白了thx




☆   8  ──────────── 我是分割线 ─────────────────☆
发信人: turboc (我爱编程^_^), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 12:38:22 2003

                        错了。。。



☆   9  ──────────── 我是分割线 ─────────────────☆
发信人: Chengal (大四了,需要充足的睡眠), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 13:07:46 2003


好像能编译通过哦。。。



☆  10  ──────────── 我是分割线 ─────────────────☆
发信人: lycls (第一纯品学生), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 13:41:38 2003

你sizeof的是指针的长度,赋值为整型,
你试试把no改为float之类的看有没有错误?




☆  11  ──────────── 我是分割线 ─────────────────☆
发信人: Chengal (大四了,需要充足的睡眠), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 18:51:58 2003


应怎么改?




☆  12  ──────────── 我是分割线 ─────────────────☆
发信人: lycls (第一纯品学生), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 20:51:56 2003

小宝已经说得很清楚了阿^_^

有空可以过来讨论,turboc是我马甲^_^




☆  13  ──────────── 我是分割线 ─────────────────☆
发信人: littlebao (爱拼才会赢), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 21:06:37 2003


????????????
你怎么知道我的名字?????




☆  14  ──────────── 我是分割线 ─────────────────☆
发信人: lycls (第一纯品学生), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 21:28:31 2003

你的id,我又不是瞎子。。。

☆  13  ──────────── 我是分割线 ─────────────────☆
发信人: littlebao (爱拼才会赢), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 21:06:37 2003


????????????
你怎么知道我的名字?????




☆  14  ──────────── 我是分割线 ─────────────────☆
发信人: lycls (第一纯品学生), 信区: Program
标  题: Re: 问一个很简单的c问题
时  间: Tue Sep  9 21:28:31 2003

你的id,我又不是瞎子。。。


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店