View Full Version : سوال: ارسال struct به عنوان خروجی تابع؟
amiin1364
دوشنبه 02 شهریور 1388, 23:51 عصر
سلام
اینو ببینید:
struct
point{
int x,y;
};
struct point func(int a){
struct point temp;
temp.x=a;
temp.y=a+2;
return temp;
}
:متفکر:چجوری میشه بدون استفاده از temp و یا استفاده از pointer به عنوان آرگومان تابع همین نتیجه رو گرفت
ممنون
یا حق
Nima_NF
سه شنبه 03 شهریور 1388, 17:07 عصر
روش مرسوم به این شکل هست:
void func(int a, point* mypoint )
{
mypoint->x=a;
mypoint->y=a+2;
{
فراخوانی:
point mypoint;
func( 10, &mypoint);
amiin1364
سه شنبه 03 شهریور 1388, 22:40 عصر
سلام آقا نیما ممنون
اما مثل اینکه منظورم رو خوب نگفتم اینو گفتم که:
بدون استفاده از temp و یا استفاده از pointer به عنوان آرگومان
اینو بلدم میخوام توی اسم function پارامترم رو پاس کنم :متفکر: با همون فرمت
راهی داره.
ممنون
یا حق
clover
جمعه 06 شهریور 1388, 02:32 صبح
سلام آقا نیما ممنون
اما مثل اینکه منظورم رو خوب نگفتم اینو گفتم که:
اینو بلدم میخوام توی اسم function پارامترم رو پاس کنم :متفکر: با همون فرمت
راهی داره.
ممنون
یا حق
خب اگه بخواهیم مساله را دور بزنیم باید بگم که راه دیگه استفاده از یک ساختار به صورت سراسری هست . به این سادگی :
struct point
{
int x,y;
};
struct point temp;
struct point func(int a)
{
temp.x=a;
temp.y=a+2;
return temp;
}
می دونم که این کار مسخره هست اما : به هر حال شما به یک ساختار احتیاج دارید تا عملیات خودتونو روی اون انجام بدید یا نه ؟ خب این ساختار باید در جایی اعلان بشه ، خواه داخل تابع یا بیرون از تابع .
tdkhakpur
جمعه 06 شهریور 1388, 13:41 عصر
خوب این هم راه دیگر
struct point
{
int x,y;
};
struct point temp;
void func(struct point &tmp)
{
tmp.x= 10;
}
//طرزاستفاده
struct point k;
func(k);
amiin1364
جمعه 06 شهریور 1388, 21:13 عصر
سلام
از همه ممنون
یا حق
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.