c - 使用未声明的标识符 'arr'

标签 c xcode

我正在尝试使用 Xcode 进行一些 C 语言练习,但遇到一些错误。

代码如下:

#include <stdio.h>
#include <stdlib.h>

/* move previous elements down until insertion point reached */
void shift_element (unsigned int i ) {
    int ivalue;
    // guard against going outside array
    for (ivalue = arr[i]; i && arr[i-1] > ivalue; i--) {
        arr[i] =arr[i-1];   // move element down
    arr[i] = ivalue; // insert element
    }
}

int main(int argc, const char * argv[]) {

    unsigned int arr[5] = {2,4,5,3,6};
    shift_element(3);

    // print arr
    int i;
    for (i=0;i < (sizeof (arr) /sizeof (arr[0]));i++) {
        printf("%d\n",arr[i]);
    }
    return 0;
}

但它会导致错误“使用未声明的标识符‘arr’”

我搜索了之前具有相同主题的问题,但找不到可以解决我的问题的正确答案。

如果有人能提供帮助,我会很高兴。

干杯

最佳答案

arr 变量不在 shift 函数的范围内。您必须将其作为参数传递。

关于c - 使用未声明的标识符 'arr',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36522327/

相关文章:

ios - 为什么在Braintree手动集成上出现找不到“Braintree/BTUICTAControl.h”文件的错误?

更改结构中元素的值

c - 为什么 while 循环在 else 语句之前停止?

xcode - 可接受的内存泄漏量

xcode - Interface Builder/跨平台中的自定义 UIView

xcode - Xcode 中的 EmbeddedAppDeltas 文件夹是什么,我可以安全地删除它吗?

c - C 中的数据类型和数据类型修饰符

c++ - C++函数参数表中有String类型的情况下,是否可以使用C程序函数调用C++函数?

c++ - 带有 header 的 Makefile 包括 header

ios - Xcode 7 GM,Swift 2.0 涉及 range 和 advancedBY 的变化