PDA

View Full Version : آدرس توابع



dada_vahid
جمعه 17 دی 1389, 20:53 عصر
به نام خدا
دوستان خسته نباشید
من یک برنامه بسیار کوچک نوشتم که یک یکی از کدهایی که نوشتم رو درک نمی کنم
زیر این خط می کشم ممنون خیلی برام واجبه برای امشب لازمش دارم ممنون
در واقع من مفهوم این کد رو متوجه نمی شم p=&a; نمی دونم یعنی چی




#include<iostream.h>
#include<conio.h>
main()
{

float a,*p;
p=&a;
cout<<endl;
cout<<endl;
cout<<" Enter Number : ";
cin>>*p;
cout<<" Enter Number : ";
cin>>*(p+1);
cout<<" Enter Number : ";
cout<<endl;
cout<<endl;
cin>>*(p+2);
*(p+3)=*p+*(p+1)+*(p+2);
*(p+3)=*(p+3)/3;
cout<<" Result = "<<*(p+3);
getch();
}

Gold_cpp
جمعه 17 دی 1389, 21:54 عصر
با سلام

به بیان ساده کدی که شما نوشتید را می توان بصورت زیر نوشت .


//in the name of Allah
#include<iostream.h>
#include<conio.h>
main()
{
float a,*p;
p = &a;

cout << "Enter Numbers : (1, 2 , 3) : \n";
cin >> *p >>*(p+1)>>*(p+2);

cout << "Result = " << (*p + *(p+1) + *(p+2))/3;
getch();
return 0;
}




p = &a;

متغیری که از نوع float تعریف کردی ( a ) داری یک آدرس که این آدرس را در اشاره گر P قرار داده ای .
البته در این مورد اصلا نیازی به این کار نیست . چون در برنامه استفاده نکردی

برای درک بهتر در مورد این برنامه اگر با آرایه کار کرده باشی می توانی به جای مقادیر سمت چپ مقادیر سمت راست را قرار بدی .


*p => p[0]
*(P+1) => p[1]
*(P+2) => p[2]

dada_vahid
جمعه 17 دی 1389, 22:39 عصر
ممنوم دوست عزیز