1 #include <stdio.h>
2
3 void bubble_sort(int arr[], int len);
4
5 void main() {
6 int arr[] = {5, 5, 6, 9, 10, 1, 0, 3, 2};
7
8 int total_size = sizeof(arr);
9
10 // 数组元素个数计算:总占用字节数 / 单个int占用字节数
11 int len = total_size / sizeof(int);
12
13 bubble_sort(arr, len);
14
15 printf("after...\n");
16
17 for (int i = 0; i < len; i ++) {
18 printf("%d\n", arr[i]);
19 }
20 }
21
22 void bubble_sort(int arr[], int len) {
23 // 调用此function arr传的是地址,这里 32位机器 sizeof(arr) == 4, 64位机器 sizeof(arr) == 8
24 // printf("%zu\n", sizeof(arr));
25 for (int i = 0; i <= len - 1; i ++) {
26 for (int j = 0; j < len - i - 1; j ++) {
27 if (arr[j] > arr[j + 1]) {
28 int tmp = arr[j + 1];
29 arr[j + 1] = arr[j];
30 arr[j] = tmp;
31 }
32 }
33 }
34 }
sizeof(arr) == 4