c語言這new是什麼作用

時間 2021-08-16 03:08:23

1樓:腦筋急轉

這個new不是c語言中的,而是c++ 中的。 new後面是一個函式名。new的作用是給物件分配記憶體空間,很像c語言中的malloc函式,new 返回分配的空間的首地址。

2樓:銷

首先說明new是c++語言的,c沒有

在new後面寫上一個型別,會在記憶體中分配空間,並自動呼叫這個型別的建構函式

然後返回一個指向這塊記憶體的指標,這樣就完成了新建一個此型別變數

3樓:臺皖清

new是c++中用於動態記憶體分配的運算子,在c語言中一般使用malloc函式。

有三種用法:new operator、operator new、placement new

1)new operator:

new operator是最常見的用法,如 emp* e1 = new emp;(emp是一個類) 這裡new有兩種作用:分配空間、初始化物件(呼叫了建構函式)

2)operator new:

operator new作用是隻分配空間,不呼叫建構函式,如:emp* e2 = (emp*)operator new(sizeof(emp));

3)placement new:

placement new作用是在已分配好的空間上初始化物件,不分配空間,呼叫拷貝建構函式,如:new ((void *)e2) emp(*tb1);

4樓:匿名使用者

c語言中「new」是一個關鍵字,同時也是操作符。

當我們使用關鍵字new在堆上動態建立一個物件時,它實際上做了三件事:獲得一塊記憶體空間、呼叫建構函式、返回正確的指標。當然,如果我們建立的是簡單型別的變數,那麼第二步會被省略。

c語言中system pause 是什麼作用和意思

mei 陳先生 從程式中發起系統命令列呼叫,執行命令 pause。作用和效果就是dos下的pause。system pause 和system pause 作用和效果一樣,因為dos命令是不區分大小寫的。system pause 是暫停的意思,等待使用者訊號 不然控制檯程式會一閃即過,你來不及看到執...

c 子函式中用new而不delete,那麼這部分空間是否會

子函式中使用了new而不delete,通常是不會釋放的空間的。記憶體被new出來以後,有一個指標指向這個空間。不管是在子函式中,或是在主函式中,都必須有一次delete來釋放這個空間,如果沒有做delete,即使退出程式,也無法 這段記憶體了,記憶體就被洩露了。 不會 因為他們是被分配在堆上的 在你...

c語言是什麼,C語言是什麼

你好!計算機術語 c語言是一種計算機程式設計語言。它既具有高階語言的特點,又具有組合語言的特點。它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。因此,它的應用範圍廣泛,不僅僅是在軟體開發上,而且各類科研都需要用到c語言,具體應用比如微控制器以...