値渡しを使用して元の値を更新する方法があるかどうかを知りたいと思います。値渡しを使用して実際の値を更新
また、私は、私はここで、メイン
に戻って更新されたアドレスを返すことができるかどうかを知りたい私がメインで、元の値を交換するために参照することによりパスを使用したくありません。
#include<stdio.h>
int a = 100;
int f =200;
int *p, * q;
swap(int, int);
main()
{
printf("%d %d\n", a,f);
swap(a, f);
printf("%d %d\n",a ,f); //values remain same here how to change them
}
swap(int a, int f)
{
int t;
p=&a;
q=&f;
t=*p;
*p=*q;
*q= t;
printf("%d %d\n",a ,f);
}
いいえ。参照セマンティクスは、ポインタパラメータと操作のアドレスを使用してCで実装できます。ポインタはその配列で値渡しされます。 –
コードを書式設定してください。 –
あなたは関数の代わりにマクロを使うことができます。 – EOF