PDA

View Full Version : سوال: تغییر مقدار دو متغیر با استفاده از pointer ها



shahroozansari2012
شنبه 20 خرداد 1391, 19:46 عصر
سلام دوستان میخوام بدونم به وسیله pointer ها چطوری میشه مقدار دو تا متغییر و تغییر داد ؟؟؟؟
مثلا دو تا متغییر x وy داریم. و میخوام مقدارشونو بدون استفاده متغییر دیگه و با استفاده از pointerها عوض کنم.

صفا خانوم
شنبه 20 خرداد 1391, 20:30 عصر
با استفاده از اعمال ریاضی میشه این کارو کرد
با جع وتفریق

صفا خانوم
شنبه 20 خرداد 1391, 20:44 عصر
#include <stdio.h>
#include <Conio.h>
int main()
{
int a=10,b=5;
int *x,*y;
x=&a;
y=&b;
printf("old values x=%d and y=%d.\n",a,b);
*x=*x+*y;
*y=*x-*y;
*x=*x-*y;
printf("new value x=%d and y=%d.\n",*x,*y);
getch();
return 0;
}

shahroozansari2012
شنبه 20 خرداد 1391, 21:37 عصر
نه انگاری بد متوجه شدید .
میخوام با وقتی a رو چاپ میکنی مقداره b رو بده و بر عکس

صفا خانوم
شنبه 20 خرداد 1391, 22:33 عصر
مگه نمیخوای مثلا عددت x=10 و y=20 باشه بعد با یه سری کار بیاییم اونو اینطوری کنیم x=20 و y=10
مگه همینو نمیخوای؟

one hacker alone
شنبه 20 خرداد 1391, 23:57 عصر
اگه اون چیزی که این نوشتن رو نمیخواین میتونید ادرس ها رو عوض کنید یعنی محتوا عوض نشه فقط ادرس ها عوض بشه یا اینکه وقت فراخوانی به همدیگه اشاره کنن

#target
یک شنبه 21 خرداد 1391, 12:23 عصر
ی نمونه نوشتم از اندیس برا اشاره استفاده کردم

int i = 10;
int j = 90;

int* index [2];

index[0] = &i;
index[1] = &j;

cout << *index[0] << *index[1] << endl;

index[0] = &j;
index[1] = &i;

cout << *index[0] << *index[1] << endl;