小编Ric*_*ant的帖子

函数参数列表后的变量声明

我简单地讨论了一个C代码,其中变量似乎是在函数的参数列表之后声明的.我不知道这是可能的.

在代码中,int r并int *a在参数列表之后声明arr2int.这将如何影响局部变量a和r的arr2int?

实际的原因,我想了解的代码是因为如果我让它在我的Linux的x86运行a[1] = 1在//MARKER当arr2intIST称为拳头时间.

但是,如果我让它在一个基于ARM的omap4开发板上运行a[1]=0,我不知道为什么会有区别.

有人可以对此发表评论吗?

long arr2int(a,r)
int r;
int *a;
{
   int i;
   long mul, result = 0, temp;

   //MARKER
   for (i=1; i<=r; i++) {
      mul = 1;
      temp = a[i]-1;
      while (temp--)
         mul = mul << 1;
      result += mul;
   }
   return(result);
}
Run Code Online (Sandbox Code Playgroud)

和调用方法:

void generateEncodingTable(){
    register int i,j;
    long temp;
    int seed = …
Run Code Online (Sandbox Code Playgroud)

c syntax declaration function

8
推荐指数
2
解决办法
2079
查看次数

标签 统计

c ×1

declaration ×1

function ×1

syntax ×1