小编See*_*tty的帖子

Makefile - 模式规则

我是编写 makefile 的新手。最近我在 makefile 中看到了模式规则。例如:

%.o: %.cc
        # command to compile comes here
Run Code Online (Sandbox Code Playgroud)

经过在网上的严格搜索,我发现了上面的语句的作用,但是我遇到了下面的另一个语句。

%: %.o
        # Command to link lies here
Run Code Online (Sandbox Code Playgroud)

我不明白这个规则。谁能解释一下第二个模式规则?

makefile

3
推荐指数
1
解决办法
461
查看次数

将数组传递给c中的函数

关于将数组传递给函数我有疑问.

请考虑以下代码段.

void main()
{
    int a[4]={10,20,30,40};
    fun1(a);
}

void fun1(int a1[])
{
  for(int i=0;i<4;i++)
  {
      printf("%d\n",a1[i]);
  }
}
Run Code Online (Sandbox Code Playgroud)

传递数组只不过是传递第一个位置的地址.我应该传递上面的数组及其名称(数组的起始地址).我怀疑是因为[4]是一个自动变量,它应该在它从主函数出来时死掉它应该给出意想不到的结果(指针应该是悬空的).但它工作正常.

我对此非常困惑,请你把它清理干净.

即使我们通过一个单一的元素int af(&a),它不应该在函数f存在,如果它被声明为自动(在主函数的局部变量).

请清楚这一点.

c arrays scope

0
推荐指数
1
解决办法
304
查看次数

标签 统计

arrays ×1

c ×1

makefile ×1

scope ×1