亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c++中new一個結構體初始化過程

 更新時間:2024年08月20日 15:13:38   作者:芯辰大海  
這篇文章主要介紹了c++中new一個結構體初始化過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

c++ new一個結構體初始化

new和delete運算符是用于動態(tài)分配和撤銷內存的運算符,必須成對適用;

  • new用法——開辟單變量地址空間、開辟數(shù)組空間;
  • new作用—— 使用new運算符時必須已知數(shù)據(jù)類型,new運算符會向系統(tǒng)堆區(qū)申請足夠的存儲空間,如果申請成功,就返回該內存塊的首地址,如果申請不成功,則返回零值;

new出來的對象用對應數(shù)據(jù)類型的指針接收——new運算符返回的是一個指向所分配類型變量(對象)的指針。對所創(chuàng)建的變量或對象,都是通過該指針來間接操作的;

new一般使用格式(3種)【開辟單變量地址空間】

  • 1) 指針類型* 指針變量名=new 數(shù)據(jù)類型;如:int *a = new int 即為將一個int類型的地址賦值給整型指針a;
  • 2)指針類型* 指針變量名=new 數(shù)據(jù)類型(初值);如:int *a = new int(2) 作用同上,但是同時將整數(shù)空間賦值為2;
  • 3)指針類型* 指針變量名=new 數(shù)據(jù)類型(內存單元個數(shù));

開辟數(shù)組空間——格式

指針類型* 指針變量名=new 數(shù)組類型[數(shù)組元素個數(shù)];

delete [ ] 指向該數(shù)組的指針變量名;

如:

一維: int *a = new int[100]; //開辟一個大小為100的整型數(shù)組空間
二維: int **a = new int[5][6]

注意:

兩式中的方括號是非常重要的,兩者必須配對使用,如果delete語句中少了方括號,編譯器認為該指針是指向數(shù)組第一個元素的指針,會產生回收不徹底的問題(只回收了第一個元素所占空間),加了方括號后就轉化為指向數(shù)組的指針,回收整個數(shù)組。

delete []的方括號中不需要填數(shù)組元素數(shù),系統(tǒng)自知。即使寫了,編譯器也忽略。

delete用法

1)刪除單變量地址空間

int *a = new int[2];
delete a; //釋放單個int的空間

2)刪除數(shù)組空間

int *a = new int[5];
delete []a; //釋放int數(shù)組空間

結構體new初始化與delete

#include<iostream>
using namespace std;
struct MyStruct
{
	int a;
	MyStruct* b;
    MyStruct(int x): a(x), b(NULL) {};  //初始化列表構造函數(shù)  函數(shù)名與類名相同是構造函數(shù)
};
int main() {
	MyStruct* my = new MyStruct();
	delete my;
	system("pause");
	return 0;
}

MyStruct* my = new MyStruct(); 分別把結構體成員初始化為0和null;

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C語言深入探究棧的原理

    C語言深入探究棧的原理

    一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素操作。進行數(shù)據(jù)插入和刪除操作的一端 稱為棧頂,另一端稱為棧底。棧中的數(shù)據(jù)元素遵守后進先出LIFO(Last In First Out)的原則
    2021-11-11
  • C++筆記-設置cout輸出數(shù)據(jù)的寬度和填充方式

    C++筆記-設置cout輸出數(shù)據(jù)的寬度和填充方式

    這篇文章主要介紹了C++筆記-設置cout輸出數(shù)據(jù)的寬度和填充方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • c++ static詳細使用分析

    c++ static詳細使用分析

    在C++中,static是一個關鍵字,用于聲明靜態(tài)成員、靜態(tài)局部變量以及靜態(tài)函數(shù),這篇文章主要介紹了c++ static詳細分析,需要的朋友可以參考下
    2024-05-05
  • C?語言輸入輸出庫函數(shù)講解(最新推薦)

    C?語言輸入輸出庫函數(shù)講解(最新推薦)

    輸入輸出函數(shù)能夠讓程序和用戶或者文件進行交互,這篇文章主要介紹了C?語言輸入輸出庫函數(shù)講解,需要的朋友可以參考下
    2025-04-04
  • 單詞小助手C語言版

    單詞小助手C語言版

    這篇文章主要為大家詳細介紹了C語言版的單詞小助手,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 一文帶你深入了解C++中的類型轉換

    一文帶你深入了解C++中的類型轉換

    在C語言中,如果賦值運算符左右兩側類型不同,或者形參與實參類型不匹配,或者返回值類型與接收返回值類型不一致時,就需要發(fā)生類型轉化。本文主要介紹了C++中常見的四個類型轉換,需要的可以參考一下
    2022-12-12
  • windows上安裝CLion教程及簡單使用詳解

    windows上安裝CLion教程及簡單使用詳解

    這篇文章主要介紹了windows上安裝CLion教程及簡單使用,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • C++使用string的大數(shù)除法運算(4)

    C++使用string的大數(shù)除法運算(4)

    這篇文章主要為大家詳細介紹了C++使用string的大數(shù)除法運算,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • C++實現(xiàn)簡易的五子棋小游戲

    C++實現(xiàn)簡易的五子棋小游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡易的五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C++實現(xiàn)LeetCode(170.兩數(shù)之和之三 - 數(shù)據(jù)結構設計)

    C++實現(xiàn)LeetCode(170.兩數(shù)之和之三 - 數(shù)據(jù)結構設計)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(170.兩數(shù)之和之三 - 數(shù)據(jù)結構設計),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08

最新評論