PDA

View Full Version : سوال: چاپ محتویات لیست یک طرفه به روش بازگشتی



sourcecode
یک شنبه 30 تیر 1392, 13:01 عصر
کسی میتونه قطعه کد زیر رو (اونایی که به رنگ آبیه یا به طور کامل ) توضیح بده ؟؟؟


void Travers (listpointer x)
{
if(x!=Null)
{
cout<<x-data;
Travels(x->link);
}

nasrin55
سه شنبه 01 مرداد 1392, 16:28 عصر
هر تابعی یه خروجی داره ، یه جایی مثال زده بود که تابع مثل جاسوس می مونه. ما بهش یه سری اطلاعات میدیم و ازش یه سری اطلاعات دیگه میخواهیم. در تابع بالا متغیر x ، داده ای است که به تابع داده می شود و از نوع listpointer می باشد.
کسی که تابع را فراخوانی می کنه از داخل اون خبری نداره فقط خروجی اون رو تحویل می گیره، خروجی هر متغیری می تونه باشه مثل int, char, ... اگر تابع ما مقداری را بر نگردونه یعنی قرار نباشه که اطلاعاتی به ما بده و مثل تابع شما قرار یه داده ای را چاپ کنه اونوقت باید خروجی تابع را از نوع void تعریف کرد.
شرط if هم مقدار داخل پرانتز را چک می کنه و اگر درست (true) بود، دو خطی که داخل آکولاد نوشته شده را اجرا می کند. در واقع زمانی اون دو خط اجرا میشن که متغیر x ، مقدار Null نداشته باشد.