陣列名代表陣列只有兩種情況
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...