0
点赞
收藏
分享

微信扫一扫

C语言函数的取地址符和星号

扶摇_hyber 2022-11-18 阅读 110


最近对函数的星号和取地址符有些困惑于是写了这一点简单的代码来回忆一下;

1、

#include <stdio.h>

void f(int x,int y)
{
int t;
t=x;
x=y;
y=t;
printf("x=%d; y=%d\n",x,y);
}
int main()
{
int a=1,b=2;
f(a,b);
printf("a=%d; b=%d\n",a,b);
return 0;
}


C语言函数的取地址符和星号_取地址


由此可见a和b的值不变;

2、

#include <stdio.h>

void f(int *x,int *y)
{
printf("地址x=%d y=%d\n",x,y);
int *t=x;
x=y;
y=t;
printf("地址x=%d y=%d\n",x,y);
printf("*x=%d; *y=%d\n",*x,*y);
}
int main()
{
int a=1,b=2;
f(&a,&b);
printf("a=%d; b=%d\n",a,b);
return 0;
}


C语言函数的取地址符和星号_#include_02



只改变了地址。

3、

#include <stdio.h>

void f(int *x, int *y)
{
int t=*x;
*x=*y;
*y=t;
printf("*x=%d; *y=%d\n",*x,*y);
}
int main()
{
int a=1;
int b=2;
f(&a,&b);
printf("a=%d; b=%d\n", a, b);
return 0;
}

C语言函数的取地址符和星号_#include_03

改变了a和b 的值

4、

#include <stdio.h>

void f(int &x, int &y)
{
int t=x;
x=y;
y=t;
printf("x=%d; y=%d\n",x,y);
}
int main()
{
int a=1;
int b=2;
f(a,b);
printf("a=%d; b=%d\n", a, b);


C语言函数的取地址符和星号_#include_04

同上

举报

相关推荐

0 条评论