陣列的學習

2021-10-13 23:50:58 字數 2342 閱讀 5637

int

main()

;//1、sizeof(陣列名)-陣列名表示整個陣列,sizeof(陣列名)計算的是整個陣列的大小,單位是位元組

//2、&陣列名,陣列名代表整個陣列,此項操作取出的是整個陣列的位址

int sz =

sizeof

(arr)

/sizeof

(arr[0]

);printf

("%d\n"

, sz)

;printf

("%d\n"

,sizeof

(arr));

printf

("%d\n"

,*arr)

;printf

("%p\n"

,&arr[0]

);printf

("%p\n"

,&arr[0]

+1);

printf

("%p\n"

, arr)

;printf

("%p\n"

, arr+1)

;//此處加1操作位址增加了28????

printf

("%p\n"

,&arr)

;printf

("%p\n",(

&arr)+1

);return0;

}

氣泡排序

優化之後

void

bubble_sort

(int a,

int s)}if

(flag ==1)

}}intmain()

;int i =0;

//對arr進行氣泡排序,排成公升序

int sz =

sizeof

(arr)

/sizeof

(arr[0]

);bubble_sort

(arr, sz)

;for

(i =

0; i < sz; i++

)return0;

}

未優化,效率過低
void

bubble_sort

(int a,

int s)}}

}int

main()

;int i =0;

//對arr進行氣泡排序,排成公升序

int sz =

sizeof

(arr)

/sizeof

(arr[0]

);bubble_sort

(arr,sz)

;for

(i =

0; i < sz; i++

)return0;

}

二維陣列的學習

int

main()

;//int i = 0;

//for (i; i < 3; i++)

//// printf("\n");

//}//列印出來的是

//1 2 3 0

//4 5 0 0

//0 0 0 0

//0 0 0 0

int arr[3]

[4]=

,};int i =0;

for(i; i <

3; i++

)printf

("\n");

}return0;

}

一維陣列的學習

int

main()

;int sz =

sizeof

(a)/

sizeof

(a[0])

;int i =0;

for(i; i < sz; i++

)return0;

}int

main()

;printf

("%d\n"

,sizeof

(arr1));

//結果是4

printf

("%d\n"

,sizeof

(arr2));

//結果是3

printf

("%d\n"

,strlen

(arr1));

//結果是3

printf

("%d\n"

,strlen

(arr2));

//結果是隨機值,因為他要往後去尋找\0的位置

return0;

}int

main()

陣列的學習

陣列和指標常常伴隨一塊,傻傻的分不清楚。今天在這裡就系統的總結一下陣列和指標問題。陣列在資料結構中占有十分重要的地位。陣列在記憶體中連續儲存的。在使用之前要對其進行宣告定義。宣告定義時其大小必須是確定的常量,而不能是變數。同時宣告定義要進行初始化。對於二維陣列,在初始化時可以省略行,但是列不能省去。...

陣列的學習

陣列的學習 陣列的定義 1 陣列是一組有序資料的集合。陣列中各資料的排列是有一定規律的,下標代表資料在陣列中的序號。2 用乙個陣列名和下標來唯一的確定陣列中的元素,如arr 10 代表陣列中儲存十個元素的值。3 陣列中的每乙個元素都屬於同乙個資料型別。不能把不同型別的資料 如學生的成績和學生的性別 ...

陣列的學習

定義 在記憶體空間中開闢的一連串的空間,且長度不可變,儲存的資料型別必須要一致。宣告乙個變數就是在記憶體空間劃出一塊合適的空間 宣告乙個陣列就是在記憶體空間劃出一串連續的空間為什麼使用陣列 如果宣告的變數存在的值較多且同為一種型別的話,那麼宣告的變數就顯得冗餘累贅,可以使用宣告陣列來避免這種情況出現...