c 语言传引用,数组传引用
#include <stdlib.h>
#include <stdio.h>
void test1(int *x)
{
*x = 1000;
}
void test2(int *y)
{
y[0] = 1111;
}
void test3(int *z)
{
*z = 2222;
}
int main(int argc, char *argv[])
{
int x = 1, i = 0;
int y[4] = {1, 1, 1, 1};
int *z = 1;
z = (int *)malloc(sizeof(int));
test1(&x);
test2(y);
test3(z);
printf("x: %d/n", x);
for (i = 0 ; i < 4; i++)
printf("y[%d]: %d/n", i, y[i]);
printf("z: %d/n", *z);
return 0;
}
输出结果:
x: 1000
y[0]: 1111
y[1]: 1
y[2]: 1
y[3]: 1
z: 2222
c++ 传引用
#include <iostream>
using namespace std;
void test(int&);
main()
{
int a = 1;
test(a);
printf("a: %d/n", a);
}
void test(int& a)
{
a = 100;
}
输出结果:
a: 100