我有一个数组,我想将它传递给一个函数,然后从函数中修改它,我该怎么做?

时间:2014-10-15 04:36:28

标签: c

实施例

//This is my function
void myfunc (how does the definition look like?)
{
int counter = 0;
for (counter = 0; counter < 10; counter++)
{
*arr[counter] += 10;
}

int main(void)
{
char arr[100] = {'\0'};
myfunc (how does this look like?)
return 0;
}

我想传递类似指针的内容,以便我可以直接从myfunc()

修改它

3 个答案:

答案 0 :(得分:3)

将数组传递给函数时,将传递指向第一个元素的指针。

void myfunc(char *arr) {
    int counter;
    for (counter = 0; counter < 10; counter++) {
        arr[counter] += 10;
    }
}

答案 1 :(得分:1)

void myfunc (char *s)

并在main函数中,调用

myfunc (arr);

答案 2 :(得分:0)

C不是面向对象的语言。您必须传入数组的大小,以便能够安全地迭代它。

void myfunc (char * arr, int size)
{
   int counter = 0;
   for (counter = 0; counter < size; counter++)
   {
      arr[counter] += 10;
   }
}

int main()
{
   char arr[100] = {'\0'};
   myfunc (arr, 100);
   return 0;
}