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

C++中靜態(tài)初始化數(shù)組與動(dòng)態(tài)初始化數(shù)組詳解

 更新時(shí)間:2018年07月19日 15:13:35   作者:fengfeng0328  
今天小編就為大家分享一篇C++中靜態(tài)初始化數(shù)組與動(dòng)態(tài)初始化數(shù)組詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

靜態(tài)初始化的數(shù)組的長度必須是在程序中確定的常數(shù),不能是由用戶輸入的變量

例子:

int a[10];//正確

Student stud[10];//正確:Student是一個(gè)學(xué)生類

int n;cin>>n;int a[n];//錯(cuò)誤

int n;cin>>n;Student stud[n];//錯(cuò)誤:Student是一個(gè)學(xué)生類

動(dòng)態(tài)初始化數(shù)組可以使用用戶輸入的變量作為數(shù)組的長度。

例子:

int n;

cin>>n;

int *a=new int[n];//這樣整數(shù)數(shù)組的長度不需要在程序中確定,可以在程序運(yùn)行的時(shí)候由用戶輸入
int n; 

cin>>n; 

cin>>n; 

Student *stud=new Student[n]; //這樣學(xué)生數(shù)組的長度不需要在程序中確定, 可以在程序運(yùn)行的時(shí)候由用戶輸入

注意:靜態(tài)初始化對象在定義的時(shí)候分配空間, 調(diào)用無參數(shù)的構(gòu)造函數(shù)或者是有參數(shù)的構(gòu)造函數(shù)

問題來了:如果我就是要用靜態(tài)初始化數(shù)組,但是我的輸入長度又想取決于cin>>n;那怎么辦??

如果我們沒有使用動(dòng)態(tài)初始化數(shù)組,使用靜態(tài)初始化數(shù)組,數(shù)組的長度需要到程序運(yùn)行的時(shí)候確定,可以在程序里初始化一個(gè)比較大的數(shù)組,運(yùn)行程序時(shí)只使用長度為n的部分?jǐn)?shù)組,盡管這樣會浪費(fèi)內(nèi)存資源,但是也是一種解決方案??!

例子:

int a[200];

int n;

cin>>n; //只是使用了數(shù)組的前n個(gè)偏移量

for(int k=0; k<n; k++)

cin>>a[k];
Student stud[200];

int n;

cin>>n;//只是使用了數(shù)組的前n個(gè)偏移量

for(int k=0;k<n;k++)

cin>>stud[k];

注意:動(dòng)態(tài)初始化在定義指針時(shí)沒有分配空間, new語句的時(shí)候才調(diào)用構(gòu)造函數(shù)分配空間而且初始化

關(guān)于C/C++靜態(tài)初始化數(shù)組的問題的異同需要強(qiáng)調(diào)一點(diǎn):(這不是分析出來的,是在vs2015運(yùn)行時(shí)發(fā)現(xiàn)的)

在C語言中:int n=1;int a[n];//錯(cuò)誤

在C語言中:int const n=1;int a[n];//錯(cuò)誤

在C++語言中:int n=1;int a[n];//錯(cuò)誤

在C++語言中:int const n=1;int a[n];//正確

以上這篇C++中靜態(tài)初始化數(shù)組與動(dòng)態(tài)初始化數(shù)組詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一起來看看C++STL容器之string類

    一起來看看C++STL容器之string類

    這篇文章主要為大家詳細(xì)介紹了C++STL容器之string類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Qt重寫QStackedWidget模擬實(shí)現(xiàn)home界面滑動(dòng)效果

    Qt重寫QStackedWidget模擬實(shí)現(xiàn)home界面滑動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了Qt如何通過重寫QStackedWidget模擬實(shí)現(xiàn)home界面滑動(dòng)效果,文中的實(shí)現(xiàn)過程講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-11-11
  • C++中形參和實(shí)參的區(qū)別及說明

    C++中形參和實(shí)參的區(qū)別及說明

    這篇文章主要介紹了C++中形參和實(shí)參的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語言編程C++柔性數(shù)組結(jié)構(gòu)示例講解

    C語言編程C++柔性數(shù)組結(jié)構(gòu)示例講解

    這篇文章主要介紹了C語言編程系列中的柔性數(shù)組,文中含有詳細(xì)的示例代碼講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • sizeof()的簡單介紹

    sizeof()的簡單介紹

    sizeof操作符以字節(jié)形式給出了其操作數(shù)的存儲大小
    2013-04-04
  • C++ OpenCV繪制幾何圖形

    C++ OpenCV繪制幾何圖形

    這篇文章主要為大家詳細(xì)介紹了C++ OpenCV繪制幾何圖形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C語言算術(shù)運(yùn)算符整理

    C語言算術(shù)運(yùn)算符整理

    算術(shù)運(yùn)算符用于各類數(shù)值運(yùn)算,包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運(yùn)算,%)、自增(++)、自減(--)共七種
    2023-03-03
  • c實(shí)現(xiàn)linux下的數(shù)據(jù)庫備份

    c實(shí)現(xiàn)linux下的數(shù)據(jù)庫備份

    本文給大家簡單介紹下c實(shí)現(xiàn)linux下的數(shù)據(jù)庫備份的方法和具體的源碼,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07
  • C++簡單又輕松的講解類和對象中友元函數(shù)

    C++簡單又輕松的講解類和對象中友元函數(shù)

    采用類的機(jī)制后實(shí)現(xiàn)了數(shù)據(jù)的隱藏與封裝,類的數(shù)據(jù)成員一般定義為私有成員,成員函數(shù)一般定義為公有的,依此提供類與外界間的通信接口。但是,有時(shí)需要定義一些函數(shù),這些函數(shù)不是類的一部分,但又需要頻繁地訪問類的數(shù)據(jù)成員,這時(shí)可以將這些函數(shù)定義為該類的友元函數(shù)
    2022-06-06
  • 使用C語言操作文件的基本函數(shù)整理

    使用C語言操作文件的基本函數(shù)整理

    這篇文章主要介紹了使用C語言操作文件的基本函數(shù)整理,包括創(chuàng)建和打開以及關(guān)閉文件的操作方法,需要的朋友可以參考下
    2015-08-08

最新評論