| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2884 人关注过本帖
标题:加下横线的函数名或者结构体和不加下横线的有什么区别呢?
只看楼主 加入收藏
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
收藏
已结贴  问题点数:10 回复次数:6 
加下横线的函数名或者结构体和不加下横线的有什么区别呢?
发现C语言中很多函数重复定义了两套,一个是有下横线的,一个是没有的,比如
函数:_fstat和 fstat
结构体:struct _stat和struct  stat
而且他们的功能完全一样的,不知道这样弄的好处是什么?为什么有两个版本呢
搜索更多相关主题的帖子: 横线 结构体 
2010-07-09 23:03
qq181982453
Rank: 2
等 级:论坛游民
帖 子:45
专家分:16
注 册:2010-6-10
收藏
得分:3 
这些都是用户标识符,标识符不一样功能也不一样
2010-07-09 23:15
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:3 
移植 封装 扩充 简化。。。

typedef
define

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-07-10 03:24
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
您可以在sys/stat.h 中看到这两个结构体被一模一样的写了两遍,而不是typedef或者define
以下是引用你们都要疼我哦在2010-7-10 03:24:45的发言:

移植 封装 扩充 简化。。。

typedef
define
#ifndef _STAT_DEFINED

struct _stat {
        _dev_t st_dev;
        _ino_t st_ino;
        unsigned short st_mode;
        short st_nlink;
        short st_uid;
        short st_gid;
        _dev_t st_rdev;
        _off_t st_size;
        time_t st_atime;
        time_t st_mtime;
        time_t st_ctime;
        };

#if     !__STDC__

/* Non-ANSI names for compatibility */

struct stat {
        _dev_t st_dev;
        _ino_t st_ino;
        unsigned short st_mode;
        short st_nlink;
        short st_uid;
        short st_gid;
        _dev_t st_rdev;
        _off_t st_size;
        time_t st_atime;
        time_t st_mtime;
        time_t st_ctime;
        };

#endif  /* __STDC__ */

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2010-07-10 20:20
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:0 
移植 封装 扩充 简化。。。

typedef
define
只是举个例子,为了达到移植 封装 扩充 简化。。。这些目的,头文件中
用很多方式。
你怎么不去仔细看看定义前面那预处理预编译命令呢

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-07-10 21:19
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:353
专家分:222
注 册:2006-4-11
收藏
得分:3 
看一下预定义能清楚啥意思
#ifndef _STAT_DEFINED 如果没有定义_stat
#if     !__STDC__  如果不是标准c
说明如果是标准c里面就有stat这个结构,那么我就定义成_stat
而如果不是标准c本身就没有stat这个结构,那么我就定义成stat


2010-07-10 21:29
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
关键是结构一样,为什么不用typedef呢?

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2010-07-13 00:25
快速回复:加下横线的函数名或者结构体和不加下横线的有什么区别呢?
数据加载中...
 
   



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

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