LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 763|回复: 5

关于函数结构的问题?

[复制链接]
发表于 2004-12-22 09:54:48 | 显示全部楼层 |阅读模式
  1. void decode_info(bs, fr_ps)
  2. [color=Red]Bit_stream_struc *bs;
  3. frame_params *fr_ps;[/color]
  4. {
  5.     layer *hdr = fr_ps->header;

  6.     hdr->version = get1bit(bs);
  7.     hdr->lay = 4-getbits(bs,2);
  8.     hdr->error_protection = !get1bit(bs); /* error protect. TRUE/FALSE */
  9.     hdr->bitrate_index = getbits(bs,4);
  10.     hdr->sampling_frequency = getbits(bs,2);
  11.     hdr->padding = get1bit(bs);
  12.     hdr->extension = get1bit(bs);
  13.     hdr->mode = getbits(bs,2);
  14.     hdr->mode_ext = getbits(bs,2);
  15.     hdr->copyright = get1bit(bs);
  16.     hdr->original = get1bit(bs);
  17.     hdr->emphasis = getbits(bs,2);
  18. }
复制代码


函数的形式一般:函数名(){}
加了两个变量:函数名()变量{}是咋回事呢?在函数之前写不行吗? :ask
发表于 2004-12-22 10:01:38 | 显示全部楼层
这是另外一种写法,只是你没有见过而已,作用和你通常见到的没有区别,只是写法形式不同,需要编译器支持。
发表于 2004-12-22 10:45:29 | 显示全部楼层
这是老式的K&R的函数原型声明。现在都采用标准的写法。
发表于 2004-12-22 16:08:13 | 显示全部楼层
这种写法看上去好别扭的说 呵呵
发表于 2004-12-22 19:58:51 | 显示全部楼层
这是比较原始的写法。如果你去看看早期的UNiX源代码,很多语法习惯和现在的更是不一样。
发表于 2004-12-23 23:05:22 | 显示全部楼层
学C语言,早期的教科书上都是这样定义的,可能现在都找不到了.这种结构,在 .c 的文件里编译,还能用.如果在 .cpp 文件里编译,还会报错.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表