c語言將數組初始化為1_c語言之數組初始化

c語言之數組初始化

在c語言中,我們經常會有兩種初始化的方式(一維數組):

方式一

int arr[20];

這種方式是在c語言編譯階段對數組分配了固定的內存空間,但沒有為c語言賦值,此時,對該數組進行打印輸出的話,則會輸出隨機的數字。

方式二

int arr[] = {2,3,4,5,6,7,8};

同樣是在編譯階段為數組分配連續的內存空間,此時的長度如果不寫,則會根據給定的元素個數程序自己進行確定。

綜上,我們可以知道在c語言中,通過以上的方式對數組進行初始化都是在編譯階段確定數組長度的,即數組長度是固定不變的。可以看下面的一個例子:

int size = 20;

int arr[size];

對上面的代碼進行編譯則會報錯,提示數組初始化有問題,這是因為編譯器無法知道數組大小,也就無法進行內存分配,從而導致報錯。

那么我們有什么方法可以在c語言中實現數組大小的動態改變呢?我們知道,c語言中的數組,在內存中就是一段連續的內存空間,其中有一個指針指向著它的第一個元素,也就是第一個元素的地址,我們可以來驗證一下:

int a[20] = {1};

printf("%d\n",*a); //輸出1 等價于 printf("%d\n",a[0]);

所以,我們通過指針的方式動態地生成我們的數組,實現如下:

int size = 20;

int *a = (int*)malloc(sizeof(int)*size);

首先定義一個指針,之后利用malloc函數為其分配一段連續的內存空間,這里就和數組的實現是一樣的了,通過指針的方式,動態地創建了我們的數組。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530945.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530945.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530945.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法學習路線圖

關于算法的討論 如何系統地學習數據結構與算法?| 自學數據結構與算法最全路線 編程指北 動態規劃-背包問題 最小生成樹(MST)—prim和kruskal算法 用回溯法(backtracking algorithm)求解N皇后問題(N-Queens puzzle) n皇后問題[分支限界法] 克魯斯卡爾算法(Krus…

python中以表示語塊_scikitlearn:將數據擬合成塊與將其全部擬合到on

這取決于您使用的矢量器。在CountVectorizer統計文檔中單詞的出現次數。它為每個文檔輸出一個(n_words, 1)向量,其中包含每個單詞在文檔中出現的次數。n_words是文檔中的單詞總數(也就是詞匯表的大小)。它也適合詞匯表,這樣您就可以反省模型(看看哪個詞是…

大數據學習路線

文章目錄學習教程(不全)文檔教程大數據實戰項目項目源碼廣義的定義 :是指物理世界到數字世界的映射和提煉。通過發現其中的數據特征,從而做出提升效率的決策行為。 狹義的定義:通過獲取存儲、分析,從大容量…

input層級高 小程序_獲客、引流成本越來越高?開發小程序:低成本獲客、引流...

在最近幾年時間中,各行各業都有不少企業、商家反應:獲客成本越來越高。對此,小編的建議是:去開發一個微信小程序。這是為什么?下面將讓帶著豐富小程序開發以及運營經驗的,來自上海數字商圈的產品經理&#…

聚寬macd底背離_許多散戶不知道:MACD月線金叉,MACD月金叉都會帶來一波牛市!...

MACD吸收了移動平均線的優點。移動平均線的買賣交易在趨勢明顯時效果很好,但是一旦遇到牛皮盤整行情,移動平均線所發出的信號就過于頻繁而且極其不準確,在期貨市場的保證金杠桿效應下容易使投資者遭受致命損失。而MACD恰好能做到:…

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)

Ubuntu 安裝軟件報錯問題 錯誤信息如下: E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable) 解決方案: sudo rm /var/lib/dpkg/lock-frontend sudo rm /var/lib/dpkg/lockinit 6 #重啟apt-get…

ubuntu 報錯E: Unable To Locate Package Software-properties-common

Ubuntu16.04 安裝docker-ce [傻瓜教程] 錯誤描述: Unable To Locate Package Software-properties-common 解決方案: apt-get updateapt-get install python-software-propertiesapt-get install apt-fileapt-file updateapt-get install software-p…

dbscan算法中 參數的意義_無監督機器學習中,最常見的聚類算法有哪些?

在機器學習過程中,很多數據都具有特定值的目標變量,我們可以用它們來訓練模型。但是,大多數情況下,在處理實際問題時,數據不會帶有預定義標簽,因此我們需要開發能夠對這些數據進行正確分類的機器學習模型&a…

大數據與云計算的理解與基本認識

文章目錄大數據海量數據產生的原因?大數據的出現與發展為我們生活帶來了什么?傳統的數據處理,存儲手段在海量數據當中有什么劣勢?大數據數據存儲手段?大數據分析在商業上的應用?云計算什么是虛擬化?虛擬化…

造完家怎么拆東西_吸頂燈燈管怎么拆?吸頂燈拆燈管的注意事項有哪些?

吸頂燈出現故障,檢查是因為燈管給壞了,就需要對吸頂燈的燈光進行拆卸,那么,吸頂燈燈管怎么拆?打算將吸頂燈的燈管給拆了的時候,也應該要能夠清楚具體拆卸的事宜,保證拆卸效果,吸頂燈拆燈管的注…

DockerCompose構建Springboot項目

參考: docker-compose 構建 Springboot 項目 Spring Boot 2 (五):Docker Compose Spring Boot Nginx Mysql 實踐 Spring Boot 2 (五):Docker Compose Spring Boot Nginx Mysql 實踐 springboot 簡單優雅的通過docker-compose 構建 …

mac nginx 非brew安裝_Nginx服務器環境手動安裝Discuz! Q非詳細教程

Discuz! QDiscuz! Q是原騰訊旗下Discuz團隊新開源的社區程序,不過定位當然和以前不一樣。前段時間就知道Discuz! Q內測這事,不過一直沒興趣,昨天看見騰訊云這邊有個Discuz! Q的活動,就去瞧瞧,還沒有pc版本,…

工作生活可能用得到的資源

單機游戲下載網 怪物獵人:世界(Monster Hunter World)中文版 極品飛車9最高通緝中文硬盤版下載 單機專題 大型單機游戲 上古卷軸5:天際中文 大型單機游戲下載 3DMGAME 賽博朋克2077中文版 超大型游戲 絕地求生中文版 逗游 游俠 高質量圖片下…

idea 注釋中 類 跳轉_javaSE第一部分 數據類型、idea快捷鍵

最基礎內容基本數據類型整數型 byte short int long浮點型 float double字符型 char 48-->0 65-->a 97-->A布爾型 boolean引用數據類型字符串、數組、類、接口、Lambd注意事項:1. 字符串不是基本類型,而是引用類型。2. 浮點型可能只是一個近似值…

linux ntp時間立即同步命令_記一次生產環境部署NTP服務及配置時間同步

概述linux服務器在提供服務時,要和其他機器進行請求的交互,實際生產環境中,可能因為時間不同步,導致了服務異常。下面介紹下怎么部署NTP服務來解決這個問題。ps:強烈吐槽下頭條這個新排版功能,只要圖片分辨率比較低然后…

fdtd中時間監視器怎么放_利用FDTD軟件仿真拓撲光子(六)-單向傳播仿真與軟件設置...

本系列主要講解如何利用lumerical公司的FDTD軟件仿真拓撲光子絕緣體的能帶結構。主要包括以下幾方面的內容:1)前言2)光子晶體結構分析3)能帶結構仿真與軟件設置4)邊緣態仿真與軟件設置5)抗散射仿真與軟件設…

會計云課堂實名認證后怎么更改_離職了,稅務局的會計信息還是我,老板就不更改,怎么辦?...

很多做會計的人經常會因為某些原因離職,公司的相關事情好辦,交接不交接都不影響自己,但是工商、稅務里要是有自己的信息,將來公司出了事,就會影響到自己。如果是正常離職,這些事大家可以商量著來&#xff0…

各層電子數排布規則_原子核外電子排布原理

1.能層、能級與原子軌道(1)能層(n):在多電子原子中,核外電子的能量是不同的,按照電子的能量差異將其分成不同能層。通常用K、L、M、N……表示,能量依次升高。(2)能級:同一能層里電子的能量也可能不同&#…

idea 關聯jdk源碼_[項目源碼]ERP進銷存系統

介紹ERP進銷存管理系統軟件架構核心框架:SpringBoot 2.0.0持久層框架:Mybatis 1.3.2日志管理:Log4j 2.10.0JS框架:Jquery 1.8.0UI框架: EasyUI 1.3.5模板框架: AdminLTE 2.4.0項目管理框架: Maven 3.2.3開發環境建議開發者使用以下…

發布 項目_項目發布會活動到底應該怎么辦

項目發布會活動是發布會活動中的一個小類別,他既可以是傳統分類中的新品發布會,也可以是戰略升級發布會或者合作發布會,需要以具體的項目內容為標準來判斷。在充分了解項目的核心內容后,我們可以參照其具體所屬的類別來進行詳細的…