====== سوال ۴ ====== تابعی بنویسید که دو ورودی از نوع ''* ‎node'' بگیرد. فرض کنید که ‎''node‎'' نوع عناصر یک ‎''linked list‎'' است. اعلان تابع بصورت زیر می‌باشد: ''node *rev _ link(node *p‎, ‎node *q=NULL)'' ‎ این تابع بصورت زیر صدا زده می‌شود: ''(start=rev_link(start'' فرض کنید که ''start‎'' متغیر شروع یک ''linked list'' را نشان می‌دهد. در ضمن می‌دانیم برای هر عضو از ''linked list''، اشاره‌گر ''next'' به عنصر بعدی آن اشاره می‌کند و ‎''next''‎ عنصر آخر ‎''NULL''‎ است. تابع ‎''rev_link‎'' بایستی ‎''next''‎ هر عنصر را، عنصر قبلیش قرار دهد، و ‎''next''‎ اولین عنصر را آخرین عنصر قرار دهد. هم‌چنین این تابع بایستی یک اشاره‌گر به آخرین عنصر ‎''linked list''‎ را به‌عنوان خروجی بدهد. بدیهی است که شما در نوشتن این تابع نمی‌توانید از متغیّرها یا آرایه‌های ‎Global‎ استفاده کنید‎. ‎ برای راحتی فرض کنید که تعداد عناصر ‎''linked list''‎ بیش‌تر از ‎۱‎ است. ‎ ‎ **راهنمایی‎:‎** متغیّر دوم که در آرگومان تابع قرار دارد یک متغیّر کمکی است که شما می‌توانید برای نوشتن تابع از آن بهره ببرید. * [[سوال ۵|سوال بعد]] * [[سوال ۳|سوال قبل]]