گرفتن آدرس حافظه ی اشارگرلیست اول لینکدلیست - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۱۵۵ نفر آنلاین
۰ عضو و ۱۵۵ مهمان در سایت حاضرند

گرفتن آدرس حافظه ی اشارگرلیست اول لینکدلیست

0 امتیاز
51 بازدید

دوستان چرا نمیتونم آدرس اشاره گر sar رو بگیرم؟
مگه sar یه اشاره گر نیست؟!! و خود sar هم یه حافظه داره که آدرس متغییر دیتا رو تو خودش نگه میداره.
خوب حالا من آدرس خونه ی sar رو میخام بگیرم و توش این حافظه یه آدرس دیگه قرار بدم.چرا نمیتونم اون آدرس و بگیرم؟
ولی آدرس اون cout میشه.

int main ()
{
    struct linkedlist *sar  , *temp ; 
	
	temp = new linkedlist;
	temp->data = 14;
	sar = temp;
	temp = new linkedlist ;
	temp->data = 23;
	sar->badi = temp;
	temp->badi = new linkedlist;
	temp->badi->data=98;
	temp->badi->badi = NULL;
	//injast

	int **a = sar;// chera nemitonam adres o begiram?
	
	//////////
	cout << &sar;
	system("pause");
    
}

 

سوال شده شهریور 1, 1393  بوسیله ی hosseinam1370 (امتیاز 208)   3 29
int**‎ چرا؟ آدرس جایی sar که به اون اشاره می‌کنه خودشه. ‎&sar‎ آدرس متغیر sar هست.
ممنون دوستان.

چند روز درگیرش بودم.حل شد.
&sar رو نمیتونستم بریزم تو متغییر. که دستمون زحمت کشیدندو مشکلمو گفتند.

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

در ++C برای تعریف شی از struct نیازی به استفاده از کلمه struct نیست 

برای گرفتن آدرس عملگر & استفاده کنید و این که آدرس سر از نوع linkedlist** هست نه int**

#include<iostream>

using namespace std;

struct linkedlist
{
    int data;
    linkedlist* badi;
};

int main ()
{
    linkedlist *sar,*temp ;

    temp = new linkedlist;
    temp->data = 14;
    sar = temp;
    temp = new linkedlist ;
    temp->data = 23;
    sar->badi = temp;
    temp->badi = new linkedlist;
    temp->badi->data=98;
    temp->badi->badi = NULL;
    //injast

    linkedlist **a = &sar;// chera nemitonam adres o begiram?

    //////////
    cout << &sar;
    system("pause");

}

 

پاسخ داده شده شهریور 1, 1393 بوسیله ی BlueBlade (امتیاز 15,742)   13 17 85
...