C语言数组知识点总结
生活随笔
收集整理的這篇文章主要介紹了
C语言数组知识点总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C語言數組
定義
- 數組是用來存儲一系列相同類型數據的集合
靜態數組
- 靜態數組內存分配是連續的(即地址連續),最低的地址對應首元素,最高的地址對應末尾元素。在棧內存上分配了固定大小,在運行時這個大小不能改變。在函數執行完以后,系統自動銷毀;
- 定義一個靜態數組實例
動態數組
- 動態數組的內存空間是從堆(heap)上分配(即動態分配)的,當程序執行到分配內存語句時,才為其分配存儲空間。運行結束后,程序員需要free自行銷毀釋放分配的空間。
- 定義一個動態數組實例
一維數組
一維數組的聲明
類型名 數組名[常量表達式];例如:
int a[5]; // 注意為常量表達式 不能是變量以上就是定義的一個長度為5的整型數組,方括號中的常量表達式為數組的元素個數(即數組長度),a為數組名,同時代表的數組的首元素地址。
一維數組的初始化
-
完全初始化:定義時給所有元素賦值
int a[5] = {1, 2, 3, 4, 5}; -
不完全初始化:定義時只給部分的元素賦值
int a[5] = {1,2}這種方法只給部分的元素賦值,未賦初值的系統會為默認為其賦初值為0。
注意:定義數組一定要為其賦初值,不能a[5] = {};,只有一個大括號,系統會隨機為其賦垃圾值,會導致程序出現不必要的錯誤。
大括號中最少要寫一個數。比如:int a[5]={0};此時系統默認全部賦0值
-
如果定義數組時就給數組中所有元素賦初值,那么就可以不指定數組的長度,因為此時元素的個數已經確定了。
int a[] = {1,2,3,4,5}; // 不能直接定義 int a[] = {};而不給其賦初值以上形式自動會根據括號內元素生成長度,省去了我們自己去計算數組長度可能導致錯誤的情況。
訪問數組元素
- 數組元素可以通過數組名稱加索引進行訪問。元素的索引放在方括號內。
- 注意:數組中第一個索引值為 0;長度為n的數組,最后一個元素的索引值為n - 1,若輸入a[n]則會報 “數組越界錯誤”
- 也可以用指針訪問數組,例:
二維數組
- 相當于一個一維數組的列表,聲明一個 x 行 y 列的二維整型數組,如int a[2][3];相當于兩個長度為3的一維數組;理解上可以將其視為x行y列的矩陣,但其內存是連續的。
二維數組的聲明
類型名 數組名 [ x ][ y ]; //x表示行標,y表示l列標- 同樣的 a為數組名,同時代表的數組的首元素地址
二維數組的初始化
// 二維數組可以通過在括號內為每行指定值來進行初始化 a[2][3] = {{1,2,3} , {4,5,6}}; //也可以去掉括號,等價 a[2][3] = {1,2,3,4,5,6};二維數組的訪問
- 二維數組中的元素可以通過使用下標索引(行索引和列索引)來訪問
- 也可以通過指針訪問
多維數組
對于多維數組其實就是維度的推廣,用法基本上差不多,學習了指針后,對于多維數組的運用可以應用指針來解決。
有錯誤歡迎指正,謝謝~
總結
以上是生活随笔為你收集整理的C语言数组知识点总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习笔记_week22
- 下一篇: 【解惑】专科生在IT的发展之路