CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请问一个最基本的语法问题

楼主ylj017(网蚁)2003-10-03 17:20:16 在 C/C++ / C语言 提问

int     strtoiso(unsigned   char   *,   ISO_data   *   );  
  与  
  int     strtoiso(unsigned   char   *pc,   ISO_data   *pso   );  
   
  有什么区别  我如何调用它  
   本人不懂c   请不要见笑!  
  问题点数:20、回复次数:9Top

1 楼ylj017(网蚁)回复于 2003-10-03 17:32:35 得分 0

 
     我自己up!Top

2 楼ssbull(初学者)回复于 2003-10-03 17:34:20 得分 5

在申明函数时,这两者可以说没什么区别。  
  但在定义函数时,必须写第二种写法,不能第一种写法Top

3 楼mmlymlymly(mly)回复于 2003-10-03 17:37:15 得分 0

如果你只是调用,没区别!调用格式int   i=strtoiso(pc,pso)  
  pc为u   char   *,pso为ISO_data*Top

4 楼netbuds(孤帆远影)回复于 2003-10-03 19:31:29 得分 5

int     strtoiso(unsigned   char   *,   ISO_data   *   );  
  与  
  int     strtoiso(unsigned   char   *pc,   ISO_data   *pso   );  
          如果只调用它,它只是调用函数的两种不同调用方式,在效用上是相同的,其实有没有后面的参数名是无关紧要的,都可以实现函数的调用。  
            如果要声名一个函数,则必须要参数名!!!Top

5 楼C723(风雨)回复于 2003-10-03 19:57:25 得分 0

只是调用没区别    
  定义的时候   要带参  
  Top

6 楼lonelybug(孤独虫子)回复于 2003-10-03 19:59:49 得分 5

这两个都可以在声明的时候使用!  
  而第二中一定要在定义或者具体的使用这个函数的时候使用  
  比如,第一个没有参数的具体参数名称,那是因为在声明的时候不需要知道,可是到你真正的调用这个函数,或者定义的时候就需要把参数的具体名城写出来,因为只有这样才能在函数体内具体的操作这两个传进来的参数!(没名字的话,谁也不可能知道要怎么处理参数)  
  Top

7 楼ipgk(loboho)回复于 2003-10-03 21:29:17 得分 5

总结及补充一下:  
  int     strtoiso(unsigned   char   *,   ISO_data   *   );  
  与  
  int     strtoiso(unsigned   char   *pc,   ISO_data   *pso   );  
  函数声明:两种形式都可以用。第二种形式形参名是多余的,也不必与函数定义的形参名相同。  
  函数定义:只能使用后一种,必需有形参名,形参名的作用是在函数定义中替代实参。  
  如果函数定义在函数调用之后,必需在函数调用之前加入函数声明;如果函数定义在函数调用之前,就不必加函数声明。Top

8 楼lemon520(喷血)回复于 2003-10-03 21:32:30 得分 0

赞成楼上们说的!Top

9 楼ylj017(网蚁)回复于 2003-10-03 22:37:28 得分 0

#ifndef   ISO8583  
  #define   ISO8583  
   
  struct     ISO_8583   {                              
                  int         len;                            
                  unsigned   char         type;      
                  unsigned   char         flag;      
  };  
   
  struct   len_str   {  
                  short     len;  
                  char       *str;  
  };  
   
   
  struct   data_element_flag   {  
                  short   bitf;  
                  short   len;  
                  int       dbuf_addr;  
  };  
   
  typedef   struct     {  
                  struct     data_element_flag   f[128];  
                  short       off;  
                  char         dbuf[512];  
                  char         message_id[10];  
  }   ISO_data;  
   
  int     strtoiso(unsigned   char   *,   ISO_data   *   );  
  int     isotostr(unsigned   char   *,   ISO_data   *   );  
  int     getbit(ISO_data   *,   int,   unsigned   char   *   );  
  int     setbit(ISO_data   *,   int,   unsigned   char   *,   int   );  
  void     clearbit(ISO_data   *   );  
  int     UnionDecKey(unsigned   char   *MK,unsigned   char   *WK,unsigned   char   *m_Key);  
  int     UnionGenMac(unsigned   char   *MacKey,int   MacDataLen,unsigned   char   *MacData,char   *Mac);  
  #endif  
   
  这是别人给我的一个dll的头  
   
  请问各位没有形参名我如何在其它语言中说明啊!!(本人用delphi)  
   
  Top

相关问题

  • 基本语法
  • 基本语法
  • vb基本语法
  • java只懂最基本的语法,可以学习Jsp吗?
  • 高分求解基本的C/C++语法问题!(最高我可以加到100分,绝不食言)
  • 新人,第一次接触delphi,望各位给点最基本的语法书籍,谢谢!
  • 一个关于pascal基本语法的问题
  • 正则表达式疑惑之二:基本语法
  • 一个c#基本语法的问题!请教大家!
  • 初学,弱弱地问购物车问题及基本语法

关键词

  • 函数
  • pc
  • strtoiso
  • 调用
  • 定义
  • 参数
  • iso
  • pso
  • unsigned char
  • 区别

得分解答快速导航

  • 帖主:ylj017
  • ssbull
  • netbuds
  • lonelybug
  • ipgk

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo