宣告變數佔空間嗎,宣告一個變數佔空間嗎?

2022-03-05 13:44:26 字數 2742 閱讀 3367

1樓:鷹弈

宣告的時候不佔空間

執行程式的時候,執行到int i;語句時,系統才會給i分配空間具體多少?跟編譯器有關,比如vc++6.0分配4個位元組,turboc分配2個位元組

只要你不定義多餘變數,自然就不會浪費空間

2樓:小八

宣告變數的時候系統就為該變數分配了一個記憶體空間char 1位元組

int 4位元組

double 8位元組

等等~~

初始化只是給記憶體賦值

3樓:匿名使用者

像你說的已經分配了空間。分配的空間大小可用sizeof(i)來檢視,#include "iostream.h"

void main()

可以看到分配了4

如果你要到用時才分配,用指標

int *i;

用時i=new int;

i=9;(你要的值)

4樓:凝結陽光

宣告時記憶體已經分配空間

j**a在宣告一個變數時有沒有分配記憶體空間?

5樓:

只要宣告變數就會分配記憶體,只是多少不同而已。如果沒有指定字串給它,它佔用的空間幾乎可以忽略不計。

6樓:匿名使用者

只要定義了,都會分配記憶體空間

為什麼要把記憶體劃分為靜態區等四個區?

1、棧區— 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等,具體方法執行結束之後,系統自動釋放jvm記憶體資源

2、堆區— 一般由程式設計師分配釋放,存放由new建立的物件和陣列,jvm不定時檢視這個物件,如果沒有引用指向這個物件就**

3、靜態區— 存放全域性變數,靜態變數和字串常量,不釋放4、**區— 存放程式中方法的二進位制**,而且是多個物件共享一個**空間區域

變數只宣告不賦值佔不佔記憶體?還有一個變數int a=12;a不斷的變化,它記憶體地址是不是也不斷的變?

7樓:匿名使用者

這樣的問題不需要死記硬背,只需要幾局**就能解釋清楚int n; // 宣告一個變數,並沒初始化printf("%d\n", sizeof(n)); // 列印n所佔的位元組數,對於32位系統來說,一個int型別的變數佔4個位元組,因此n是佔記憶體的

printf("%p\n", &n); // 列印n的地址出來,這裡也能證明,n在記憶體裡面是有地址的,是要佔記憶體的

n = 2; // 給n賦值

printf("%p\n", &n); // 再列印一下n的地址,發現跟上面列印的地址是一樣的,因此n的值的改變不影響n的地址

8樓:夢裡尋你我他

以標準程式設計要求來說,變數定義必須給出初始值,如果你不給他初始值一般系統會給個預設值

也就是說還是佔用記憶體的,變數內容改變,其地址是不變的。(這裡不變是相對的,如果你關閉程式,再執行,這是變數a的地址和前一次就可能不同)

9樓:匿名使用者

1.變數只宣告不賦值

2.還有一個變數int a=12;a不斷的變化,記憶體地址不變。

給個例子:

#include

int main(void)

c語言是在宣告變數的同時,分配記憶體的嗎?程式結束執行了,記憶體會釋放嗎?

10樓:匿名使用者

宣告變數比如int a;這樣編譯器是不會分配記憶體控制元件的,int b=10;是會分配記憶體控制元件,程式結束後會自動釋放

11樓:匿名使用者

宣告變數比如char a;這樣編譯器是不會分配記憶體控制元件的;int d=1是會分配記憶體控制元件,程式結束後會自動釋放

12樓:愛吃炒餅

變數定義的同時,必然分配記憶體,但有一些的動態分配的。

13樓:騰空飛飛樂樂

宣告時不分配記憶體,程式結束時,記憶體會釋放。

14樓:匿名使用者

是在定義初始化時候分配的 不一定自動釋放 根據位置不同

15樓:洛雨

恩,這個是自動分配的。它這個不是說佔多少記憶體,程式是在flash或者叫rom(只讀儲存器),相當於電腦硬碟,你不執行程式,當然就不佔記憶體

16樓:東島伯爵

只是宣告的時候不分配記憶體空間。是定義或者宣告並定義的時候分配儲存空間。會釋放記憶體。

17樓:冰清翔龍

只要是在棧上分配的,都是在宣告的時候分配了記憶體。如果是在堆上面分配記憶體的,就是在編譯的時候分配

int* p = (int*)malloc(4 * sizeof(int));

p 這個指標是分配了記憶體的,而它指向的地址就是執行到這裡才分配的一般有這幾種型別

型別 位元組

char 1

short 2

int 4

自己定義的結構體就另外計算

18樓:曉晨之巔

一般是的,但是有有一種記憶體分配叫動態分配記憶體,c裡一般涉及函式有malloc,relloc,calloc,c++一般是new,這些記憶體分配後,一般要求程式設計者在用完後將其釋放。

各型別變數所佔記憶體位元組數視系統位數而定。例如16的機子而言:char 1位元組,int 2位元組,float 2位元組,double 8位元組。

米旁佔字念什麼米旁一個佔字念什麼

粘bai zh n 1 黏的東西附著在物體上或者du互相連結 zhi麥芽糖 在一塊兒了。dao 2 用 回黏的東西使物答件連結起來 信封。粘連身體內的黏膜或漿膜,由於炎症病變而粘在一起,例如腹膜發炎時,腹膜和腸管的漿膜粘在一起。貼上用膠水 糨糊等使紙張或其他東西附著在另一種東西上 標語。粘皮帶骨 拼...

魚字邊旁佔,應該怎麼念,魚字邊旁一個佔,應該怎麼念

鯰 ni n 部首 魚 五筆 qghk 筆畫 13 繁體 鯰 解釋 1.魚 頭大嘴寬,尾圓而短,皮有黏質,無鱗,背部蒼黑色,腹白色,上下頜有四根鬚。晝伏泥中,夜出活動。肉可食,鰾入藥。2.鯰 左邊一個 魚 字旁,右邊一個 有 字念什麼?鮪 w i 組詞 1 王鮪 出處 鮪焉。不知其大多少。赤幟曳曳見...

石字旁加佔是什麼字,石字旁加一個佔是什麼字

砧 zh n 要意思嗎?石字旁右邊一個佔念什麼 10 砧 zh n 1.捶 砸或切東西的時候,墊在底下的器具 板。子。2.形狀和作用像砧子的 骨 聽骨之一 木。石字旁邊一個佔字是什麼字 砧讀音 zh n 部首 石 五筆 dhkg 釋義 1.捶 砸或切東西的時候,墊在底下的器具 板。子。2.形狀和作用...