陣列相關計算

2021-08-27 05:41:42 字數 1675 閱讀 7274

陣列名代表陣列只有兩種情況

sizeof(陣列名) 這裡的陣列名表示整個陣列

&陣列名 這裡的陣列名表示整個陣列

1.

#include int main()

; printf("%d\n", sizeof(a)); //16 整個陣列大小

printf("%d\n", sizeof(a + 0)); //4 首元素位址

printf("%d\n", sizeof(*a)); //4 首元素所佔空間大小,1個整型

printf("%d\n", sizeof(a + 1)); //4 第二個元素位址大小

printf("%d\n", sizeof(a[1])); //4 第二個元素所佔空間大小

printf("%d\n", sizeof(&a)); //4 整個陣列位址

printf("%d\n", sizeof(&a[0])); //4 首元素位址

printf("%d\n", sizeof(&a[0] + 1)); //4 第二個元素的位址

return 0;

}

2.

#include int main()

; printf("%d\n", strlen(arr)); //隨機值,不知道什麼時候會遇到\0

printf("%d\n", strlen(arr + 0)); //隨機值

//printf("%d\n",strlen(*arr)); //系統奔潰,字元a不是乙個有效位址

//printf("%d\n",strlen(arr[1])); //系統奔潰,字元a不是乙個有效位址

printf("%d\n", strlen(&arr)); //隨機值 先找到整個陣列位址,然後從第乙個字元往後找

printf("%d\n", strlen(&arr + 1)); //隨機值,整個陣列位址加1,相當於把它跳過去了

printf("%d\n", strlen(&arr[0] + 1)); // 隨機值

return 0;

}

3.

#include int main()

4.

int main()

5.

#include int main()

; printf("%d\n", sizeof(a)); //48,該陣列共有12個元素,每個元素4位元組,乙個48位元組

printf("%d\n", sizeof(a[0][0])); //4,就代表第乙個元素所佔空間大小

printf("%d\n", sizeof(a[0])); //16 第一行元素

printf("%d\n", sizeof(a[0] + 1)); //4

printf("%d\n", sizeof(a + 1)); //4,

printf("%d\n", sizeof(&a[0] + 1)); //4

printf("%d\n", sizeof(*a)); //16 ,a是首元素位址(第一行位址),對其解引用,為第一行

printf("%d\n", sizeof(a[3])); //16

return 0;

}

const相關,指標相關,陣列相關

include include head.h int a 3,c 2 const int b a b 8 error b c right const用來修飾指標所指向的變數,還是指標 可以修改指標指向位址,但不能直接修改指向內容 int const b a b 8 right p error con...

計算相關位址

知道ip位址和子網掩碼 3 位址範圍 4 本網有幾台主機 例1 下面例子ip位址為192 168 100 5 子網掩碼 是255 255 255 0。算出網路位址 廣播位址 位址範圍 主機數。一 分步驟計算 1 將ip位址和子網掩碼換算為二進位制,子網掩碼連續全1的是網路位址,後面的是主機位址。虛線...

matlab cum相關計算

cumsum 和 cumprod乘積 cumtrapz 積分 cummax 最大 cummin 最小 i trapz x,y 其中x和y分別是自變數和對應的值,例如我們有函式y x 3 2x 3,為了計算在 0,1 上的積分,可以這麼做 format compact x 0 0.05 1 y x.3...