按值传递和按引用传递

#include <stdio.h>

void by_value(int a, int b, int c);
void by_ref(int *a, int *b, int *c);

int main(void){
  int x = 2, y = 4, z = 6;
  printf("\nBefore calling by_value(), x = %d, y = %d, z = %d.", x, y, z);
  by_value(x, y, z);
  
  printf("\nAfter calling by_value(), x = %d, y = %d, z = %d", x, y, z);
  
  by_ref(&x, &y, &z);
  printf("\nAfer calling by_ref(), x = %d, y = %d, z = %d", x, y, z);
  return 0;
}

void by_value(int a, int b, int c){
  a = 0;
  b = 0;
  c = 0;
}

void by_ref(int *a, int *b, int *c){
  *a = 0;
  *b = 0;
  *c = 0;
}


你可能感兴趣的:(按值传递和按引用传递)