| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 574 人关注过本帖
标题:[求助]结构类型调用问题
只看楼主 加入收藏
flmls
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-2-6
收藏
 问题点数:0 回复次数:6 
[求助]结构类型调用问题
如果定义了一个结构类型
typedef int DataType;
typedef struc{
DataType data[ListSize];
int length;
} Sqlist;

Sqlist*L和 Sqlist H 这两个定义变量有什么区别吗?

L.length=H.length吗?
搜索更多相关主题的帖子: 结构 类型 
2007-03-16 22:03
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
Sqlist*L和 Sqlist H
有区别,L是指向结构体变量的指针,而H是一个结构体变量.

L.length=H.length
没有L.length这种调用方式.
L->length; 因为L是指针变量.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-16 22:06
flmls
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-2-6
收藏
得分:0 
[QUOTE]我就碰到了,L.length这种调用方式[/QUOTE]
是链表的插入语句,程序中就用l.length调用的,是吗?

# define ListSize 100
typedef int DataType;
typedef struc{
DataType data[ListSize];
int length;
} Sqlist;
Void InsertList(Sqlist*L,DataType x,int I)
{ int j;
if(I<1 || I>l.length+1)
printf(“Position error”);
return ERROR;
if(l.length>=ListSize)
printf(“overflow”);
exit(overflow);
for(j=l.length-1;j>=I-1;j--)
l.data[j+1]=l.data[j];
l.data[I-1]=x;
l.length++;
2007-03-16 22:47
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

typedef struct
{
int i,j;
}seqlist;
void fun(seqlist *l)
{
l.i=1;
printf("%d",l.i);
}
int main(void)
{
seqlist l;
l.i=1,l.j=1;
fun(&l);
}
────────────────────────────────── Message ────────────────────────────────
Compiling D:\TURBOC2\NONAME.C:
•Error D:\TURBOC2\NONAME.C 7: Illegal structure operation in function fun
Error D:\TURBOC2\NONAME.C 8: Illegal structure operation in function fun
Warning D:\TURBOC2\NONAME.C 9: Parameter 'l' is never used in function fun




而这样不会有错误:
typedef struct
{
int i,j;
}seqlist;
void fun(seqlist l)
{
l.i=1;
printf("%d",l.i);
}
int main(void)
{
seqlist l;
l.i=1,l.j=1;
fun(l);
}

────────────────────────────────── Message ───────────────────────────────────
•Compiling D:\TURBOC2\NONAME.C:


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-16 23:05
flmls
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-2-6
收藏
得分:0 

void fun(seqlist *l)是定义 L是指向结构体变量的指针
他是如何调用的 内部的变量

原始的上面程序是不是不正确的啊,书上也有错啊



2007-03-16 23:56
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
上面是我运行的结果,

L为指向结构体变量的指针时,
调用方式为:L->i; i为结构体成员.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-17 00:21
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
收藏
得分:0 

哦,谢谢啊,解决我了一个大问题啊!!!

2007-03-17 00:36
快速回复:[求助]结构类型调用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011920 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved