1樓:匿名使用者
一般變數(非指標),只要宣告,即被分配空間。
p和y不指向同一空間,因為y不是指標變數。y這塊空間中只不過儲存了和p這塊空間中相同的內容。
2樓:匿名使用者
變數x宣告,編譯器為x分配空間,大小為sizeof(x)p1不等於p2,是因為y與x不是指向同一記憶體空間,原因如下:
c++中的賦值操作符意思是按成員賦值,例如在此例中,賦值操作分兩步進行:
第一步:為y分配記憶體空間,大小為sizeof(x)第二步:成員賦值:y.a = x.a; y.b = x.b現在明白了嗎?
建議閱讀c++ primar這本書,尤其是第三版,講的很透徹
3樓:
y=x並不是指他們是同一空間。
y=x表示把x的值複製到y中儲存。
c++ 類中變數何時建立。
4樓:匿名使用者
1.cl類中成員a在建立物件ob1時建立,在ob1銷燬時消失。在此程式中ob1直到主程式結束才銷燬,所以a也此時消失。
2、對。
5樓:丶下里巴人
你理解的是對的啊。建立物件ob1時,呼叫建構函式,就為類的資料成員申請了記憶體空間。類中其實是有預設的解構函式,主程式結束,會呼叫,釋放物件資料成員所佔用的空間,data就是在宣告的時候獲取記憶體,它是一個區域性變數,生存期就在show函式內,show函式結束變數消失,如果你在主函式中在定義一個data與區域性變數是不衝突的
c++能動態宣告變數嗎?
6樓:匿名使用者
可以的。只是不知道樓主的用意是什麼。給樓主看一段樣例**:
for(int i = 0; i < 10; i++)}你看,這樣就把變數給用起來了。
不知道樓主想要的是不是陣列呢?樓主可以把東西分別存到陣列裡,然後再在迴圈體裡面用起來。例如:
int num[10] = ;
for(int i = 0; i < 10; i++)不知道這個答案樓主滿不滿意,因為實在是不知道樓主想要問什麼。
7樓:春誤雙卿
在迴圈裡面申明變數沒有任何意義呀,申明再多也是區域性變數,迴圈結束了,生命週期就結束了
8樓:
你是不是想自己輸入一個字串,然後宣告一個你輸入的字串的名字的變數?沒有辦法。。。也沒有必要。。。。你需要做什麼功能。我可以幫你想想別的辦法。
9樓:匿名使用者
new出來的不算麼??
10樓:匿名使用者
有何用?沒有用就不用管這個問題
11樓:匿名使用者
不同的變數名。?據我所知這樣只能陣列
12樓:匿名使用者
我很好奇這是多麼奇葩的設計
c++程式設計過程中,要定義一個新的變數,能不能在函式宣告中進行?
13樓:
這樣怎麼會沒有問題呢!
在你的functionb()中呼叫functiona()時,如果functionb()之前的函式體語句沒有宣告functiona(a)中的變數a,在呼叫functiona(a)時(除非其中的a是全域性變數),是肯定有問題的;
14樓:匿名使用者
a 是個形參變數,形參變數相當於函式中定義的變數,呼叫函式傳遞引數的過程相當於定義形參變數並且用實參的值來初始化
例如這樣呼叫:
void print_time(int hour, int minute)
int main(void)
15樓:匿名使用者
int functiona(int a)
就是在函式functiona定義了一個引數a,型別為int,這個a可以看做functiona的區域性變數,與區域性變數不同的是,a是在呼叫函式functiona的時候進行賦值。
16樓:匿名使用者
這個變數一定有定義,不然這樣的寫法是不行的.你最好再搜尋一下,使用在整個工程中搜尋.使用沒有定義的變數,編譯時是會報錯的.
c++變數的宣告與定義問題
17樓:極天異雲
你說的宣告和定義是兩碼事。
比如你宣告一個變數:
extern int n;
這時這個n在其他檔案中定義並且初始化了。
int n = 10;
這樣就定義好了。
宣告僅僅是說明有這樣一個變數。
一般情況下,宣告和定義是一樣的
就像int n = 0; static int n=0;
像你的例子就是分開的,宣告是宣告,定義是定義
18樓:街角哦祝福
變數宣告的原格式是
儲存型別 變數型別 變數名=變數值
其中儲存型別預設是auto 加extern是宣告改變數在其他地方(其他模組或其他檔案中。。。)定義過,這裡直接用就行
是定義!!
19樓:1314521濛濛
這也是一種宣告,它是因為你定義函式在main函式之後,所以在main函式中可以這樣宣告。如:max(int x,int y);為函式宣告。
c語言中,宣告變數和初始化變數有什麼作用
愚人談娛樂 c語言中,變數只有先宣告,才能使用,這樣避免程式設計時產生不必要的錯誤,一位不同型別變數的儲存格式和長度都不同,所以位元組長度不同,宣告變數可以讓計算機知道你更需要用什麼樣的格式儲存變數,從而高效穩定地執行程式。c語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程式的編寫要求不嚴格...
vb的變數宣告範圍
過程或函式外的宣告的變數都叫全域性變數。過程或函式內宣告的變數叫區域性變數。窗體的通用裡可以宣告。模組裡可以宣告。dim宣告的全域性變數只對本窗體所有過程或函式有效,public對所有窗體都有效 public宣告的變數為全域性變數,在模組中宣告 dim宣告的是區域性變數。 我叫明輝 dim為區域性變...
C 標頭檔案裡宣告的變數如何能讓所有 cpp檔案都可以對它進行修改值,而且修改後值要儲存起來
北冰啊 你要明白一點是標頭檔案是在預處理階段被包含到.cpp檔案中的,所以,你宣告的那個變數在1.cpp和2.cpp編譯之前就已經加到 段裡了。至於你用1.cpp修改那個變數,是在編譯後執行的時候發生的。所以,那個變數在2.cpp中仍然是預設值 暗黑系巨龍吟風 你可以試下在標頭檔案裡面定義,然後cp...