陣列:
#include using namespace std;
//模板函式
template void dump(t val)
void dump1(int a)
int main()
;//賦值少乙個沒關係,沒有賦值會有預設值0
int *pa = a;
int *pa2 = a;
//a是乙個指標指向陣列的第乙個元素
cout << "a=" << a << endl << "&a[0]=" << &(a[0]) << endl;
for (int i = 0; i < len;i++)
cout << "***************====陣列型別和指標型別********************===" << endl;
cout << sizeof(a) << ":" << typeid(a).name() << endl;//24:int[6]
dump(a);//4:int*
//在陣列宣告的作用域之內,a是陣列型別;在作用域之外(包括函式傳遞),a退化成乙個整形指標
cout << "********************陣列型別取位址********************==" << endl;
cout << "a=" << a << endl;
cout << "&a=" << &a << endl;//和上面的值一致都是第乙個元素的位址
cout << "a+1=" << a+1 << endl;//陣列第二個元素的位址(+4)
cout << "&a+1=" << &a+1 << endl;//陣列後乙個變數的位址(+4*6)
cout << "********************指標型別取位址********************==" << endl;
dump1(a);
return 0;
}
動態陣列:
#include using namespace std;
/*c++記憶體管理
棧:編譯器自動分配和刪除變數的區
儲存如區域性變數,函式引數等;
高效但空間有限
堆:儲存由應用程式分配和刪除的區
不釋放分配的記憶體會造成記憶體洩露
全域性/靜態儲存區:儲存全域性變數和靜態變數
常量儲存區:存放常量,不允許修改
*/int main()
delete p;
return 0;
}
區別:
二維的陣列:
#include using namespace std;
void print1(int a[2][3], int rowlen, int collen) }}
void print2(int (*a)[3], int rowlen, int collen) }}
int main()
; //int a[i_col] = ;第一維的可以省略
print1(a, i_row, i_col);
//指向二維陣列的指標變數,格式:資料型別 (*指標名)[一維陣列長度]
//int(*p)[4]
print2(a, i_row, i_col);
//指標陣列,格式:資料型別 *陣列名[陣列長度]
//char *ary[2] =
//二維陣列和指標陣列的差別?
char str1 = "hello";
char str2 = "test";
char str3 = "!!";
char array1[3][8] = ;//陣列裡面儲存了字串資料
char *array2[3] = ;//陣列裡面儲存了指向字串資料的位址
char *array3[3] = ;//陣列裡面儲存了指向字串資料的位址
return 0;
}
黑馬程式設計師 C 陣列的學習
陣列的知識點學習 陣列是通用的資料結構,在c 當中使用陣列,需要建立system.array型別的物件。陣列是可索引的資料的集合。資料的型別既可以是內建的,也可以是自定義的 c 當中陣列就是物件本身。陣列是system.array類的乙個宣告的例項,在使用陣列的時候,也可以使用此類的所有方法和屬性。...
黑馬程式設計師 c語言 陣列學習
使用陣列為了方便一次性定義多個變數,同時為了方便使用這些變數 乙個陣列就是多個變數的有序集合 1 定義乙個陣列,就定義了很多的變數 2 這每乙個變數都是陣列的乙個元素或成員 3 陣列是乙個有序的集合,也就是說可以使用乙個數字引用變數 4 陣列中每乙個元素的使用和乙個一般的變數使用一樣 一維陣列是元素...
黑馬程式設計師 學習C語言陣列
陣列 陣列的基本概念 把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。特點 只能存放一種型別的資料,如全部是int型或者全部是char型,陣列裡的資料成為元素。陣列的分類 按儲存的內容分類 數值陣列 字元陣列 指標陣列 結構陣列 按維度分類 一維陣列 二位陣列...