| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 394 人关注过本帖
标题:关于头文件
只看楼主 加入收藏
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
结帖率:0
收藏
 问题点数:0 回复次数:7 
关于头文件
程序代码:
我在头文件中声明了节点
#ifdef _LIST_H
#define _LIST_H


struct Node;
typedef struct Node * Link;
.....
#endif

然后在list.c中定义了
程序代码:
struct Node
{
    char *City;
    int Temp;
    struct Node *Next;
};

为什么在list.c 中不能直接用
Link Head;


在主程序中也不能直接用struct Node 定义节点和使用Link类型

在自己头文件中怎样声明和定义类型才能直接使用?????
望赐教!!!
搜索更多相关主题的帖子: 声明 
2012-10-18 20:41
hh373231690
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:138
注 册:2012-10-13
收藏
得分:0 
回复 楼主 iceberg0
这...没看明白你的~结构体的定义放到.h中,结构体指针放在.c里
2012-10-18 20:53
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:0 
回复 2楼 hh373231690
你是说要把结构体的定义也要放到头文件中么
2012-10-18 20:57
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:0 
将已经定义过的文件包含进来就ok
假如已经定义了一个head.h
那么在主函数里面的文件中添加:#inlcude"head.h"
和有 LZ在这里写错了, 是#ifndef不是#ifdef
2012-10-18 21:02
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:0 
回复 4楼 爱闹的娃
我把 #idef概率#ifndef
但是程序中还是不能使用struct Node声明变量?
2012-10-18 21:09
hh373231690
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:138
注 册:2012-10-13
收藏
得分:0 
回复 5楼 iceberg0
你的前半部分写的是你自己的.h文件,既然.c中需要用到,就必须包含在c文件中,就如同#include <stdio.h>一样,这里的<>要改成“”。
第二结构体的定义应该写在.h中,方便..只要包含了.h就可以使用这个结构体。而结构体变量 或者结构体指针都是在.c里定义
2012-10-18 21:42
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:0 
我终于高明白了  谢谢大家
2012-10-18 22:19
weishen2011
Rank: 2
等 级:论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
收藏
得分:0 
看不懂
2012-10-18 23:35
快速回复:关于头文件
数据加载中...
 
   



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

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