将数组的指针传递给要在 C 中的 printf' 中使用的函数



我遇到了分段错误,这似乎是因为我试图使用 printf() 来取消引用单个数组值,而不是使用指向我要打印的内存位置的指针。

如果我在一个函数中定义一个数组,并希望在包含 printf() char 的循环中传递该数组以逐个字符引用 char,我应该如何传递和引用数组?

void arrayFunc(){
  char array [5];
  array[0] = 'a';
  array[1] = 'b';
  array[2] = 'c';
  array[3] = 'd';
  array[4] = 'e';
  printArray(array);
}
void printArray(char* array1){
  int i;
  for(i = 0; i < 5; i++){
        printf("%c", array1 + i);
  }
}

似乎没有完成工作。

当您尝试打印出字符时,您需要取消引用指针

for (i = 0; i < 5; i++) {
    printf("%c", *(array1 + i));
}

相关内容

  • 没有找到相关文章

最新更新