相关疑难解决方法(0)

C中的"注册"关键字?

什么是register关键字在C语言吗?我已经读过它用于优化,但在任何标准中都没有明确定义.它是否仍然相关,如果是,你什么时候使用它?

c memory keyword

255
推荐指数
10
解决办法
11万
查看次数

C函数语法,参数列表后声明的参数类型

我是C的新手.我遇到过一种我以前从未见过的函数语法形式,参数类型在参数列表之后定义.有人可以向我解释它与典型的C函数语法有何不同?

例:

int main (argc, argv)
int argc;
char *argv[];
{
return(0);
}
Run Code Online (Sandbox Code Playgroud)

c syntax function

76
推荐指数
5
解决办法
4万
查看次数

我应该在函数定义中还是在声明和定义中放置参数存储类说明符?

我正在努力将一些旧的K&R代码移植到ANSI C,所以我正在编写缺少的函数原型声明.很多函数定义都有寄存器存储类的参数,但是我不确定函数原型中是否可以省略寄存器存储类说明符?

有和没有寄存器存储类特定声明,代码编译正确(我尝试了GCC,VC++和Watcom C).我在ISO/ANSI C89标准中找不到任何关于正确方法的信息 - 如果我只是将register关键字放在函数定义中就可以了吗?

int add(register int x, register int y); 

int add(register int x, register int y)
{
  return x+y;
}
Run Code Online (Sandbox Code Playgroud)

这也正确构建:

int add(int x, int y);

int add(register int x, register int y)
{
   return x+y;
}
Run Code Online (Sandbox Code Playgroud)

我想确保根据标准真正考虑寄存器存储说明符(我的目标是使用非常旧的编译器进行编译,其中此存储类说明符很重要).两者都好,这只是一个编码风格的问题,或不是?

c declaration definition c89

14
推荐指数
3
解决办法
590
查看次数

标签 统计

c ×3

c89 ×1

declaration ×1

definition ×1

function ×1

keyword ×1

memory ×1

syntax ×1