c 學習 陣列

2021-09-06 23:57:31 字數 2256 閱讀 1137

int a[10]; //是個元素,在windows下回報錯,linux會輸出乙個隨機數

int a[10]=; //初始化,其他的為0

陣列越界:

為了調高效率, 編譯器不會對陣列越界做檢查

#include using

namespace

std;

intmain()

int a[10]; // 自動生成乙個指標,該指標指向陣列的第乙個元素的位址  int *a=&a[0];

陣列的傳遞:

void test(int );//簡要陣列宣告

void test(int [10]);//標準陣列宣告

void test(int *a);//指標宣告

陣列物件:

#includeusing

namespace

std;

class

area

area(

int w, int h)

~area()

intget

()

private

:

intw;

inth;

};int

main()

; cout

<< a[0].get()

}

指標陣列:

#includeusing

namespace

std;

class

area

area(

int i)

area(

int w, int h)

~area()

intget

()

private

:

intw;

inth;

inti;

};int

main()

//釋放記憶體

for (i = 0; i < 5; ++i)

return0;

}

優化後:

#includeusing

namespace

std;

class

area

area(

int i)

area(

int w, int h)

~area()

intget

()

void

set(int w, int

h)

private

:

intw;

inth;

inti;

};int

main()

delete p; //特有的刪除方式

return0;

}

列舉常量和陣列:

int

main()

;

double tempature[sun + 1] = ;

inti;

for (i = 0; i <= sun; i++)

}

有 \0 直接輸出陣列名即可

int

main()

;

//cout << sizeof(c) << endl;

cout << c

}

int

main()

strcat

int

main()

strcpy

int

main()

strcmp

int

main()

return0;

}

過載運算子解決陣列越界問題:

class

a ~a()

char & operator(int

i)

else

}private

:

intlen;

char *p;

};int

main()

for (int j = 0; j < 5; j++)

return0;

}

C 陣列學習

陣列概述c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在識別符號後是不合法的語法。int table not int table 另一細...

C 陣列學習

陣列概述c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在識別符號後是不合法的語法。int table not int table 另一細...

C 陣列學習

在 c 中宣告乙個陣列,您可以使用下面的語法 datatype arrayname 其中,例如 double balance 宣告乙個陣列不會在記憶體中初始化陣列。當初始化陣列變數時,您可以賦值給陣列。陣列是乙個引用型別,所以您需要使用new關鍵字來建立陣列的例項。double balance ne...