欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c++中new一個結(jié)構(gòu)體初始化過程

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

c++ new一個結(jié)構(gòu)體初始化

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

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

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

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

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

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

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

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

如:

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

注意:

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

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

delete用法

1)刪除單變量地址空間

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

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

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

結(jié)構(gòu)體new初始化與delete

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

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

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

    C語言深入探究棧的原理

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

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

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

    c++ static詳細(xì)使用分析

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

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

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

    單詞小助手C語言版

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

    一文帶你深入了解C++中的類型轉(zhuǎn)換

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

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

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

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

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

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

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

    C++實(shí)現(xiàn)LeetCode(170.兩數(shù)之和之三 - 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì))

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

最新評論