c 陣列有關的驗證

2021-09-27 02:40:24 字數 1619 閱讀 9624

int main()

; printf("%d\n", sizeof(a));//16-->sizeof(a)表示整個陣列,計算整個陣列大小,單位位元組,這裡a是整型陣列,有四個元素,因此是16

printf("%d\n", sizeof(a + 0));//4-->a+0表示陣列首元素的位址,即「1」的位址

printf("%d\n", sizeof(*a));//4-->a代表陣列首元素的大小,對a解引用,就是首元素的大小

printf("%d\n", sizeof(a + 1));//4-->類似於上述的a+0,這裡代表的是「2」的位址

printf("%d\n", sizeof(a[1]));//4-->相當於上述的a+1,代表的是「2」的位址

printf("%d\n", sizeof(&a));//4-->&a表示整個陣列的位址,在32位平台下,乙個位址的大小為4

printf("%d\n", sizeof(*&a));//16-->&a表示整個陣列的位址,解引用表示整個陣列的大小

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

printf("%d\n", sizeof(&a[0] + 1));//4-->首元素位址加一,即就是第二個元素「2」的位址

return 0;

}

驗證:

int a = ;

printf("%d\n", sizeof(a));//16-->sizeof(a)表示整個陣列,計算整個陣列大小,單位位元組,這裡a是整型陣列,有四個元素,因此是16

printf("%d\n", sizeof(a + 0));//4-->a+0表示陣列首元素的位址,即「1」的位址

printf("%d\n", sizeof(*a));//4-->a代表陣列首元素的大小,對a解引用,就是首元素的大小

printf("%d\n", sizeof(a + 1));//4-->類似於上述的a+0,這裡代表的是「2」的位址

printf("%d\n", sizeof(a[1]));//4-->相當於上述的a+1,代表的是「2」的位址

printf("%d\n", sizeof(&a));//4-->&a表示整個陣列的位址,在32位平台下,乙個位址的大小為4

printf("%p\n",&a);

printf("%d\n", sizeof(*&a));//16-->&a表示整個陣列的位址,解引用表示整個陣列的大小

printf("%p\n",&a+1);

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

printf("%p\n",&a[0]);

printf("%d\n", sizeof(&a[0] + 1));//4-->首元素位址加一,即就是第二個元素「2」的位址

printf("%p\n",&a[0]+1);

執行結果:

可以看到&a+1喝&a[0]+1的結果是不相同的

&a+1的結果是陣列長度之後的下一位

&a[0]+1的結果是陣列a[1]的位址

有關交叉驗證

學習 函式的引數,並在相同資料集上進行測試是一種錯誤的做法 乙個僅給出測試用例標籤的模型將會獲得極高的分數,但對於尚未出現過的資料它則無法 出任何有用的資訊。這種情況稱為overfitting 過擬合 為了避免這種情況,在進行 監督 機器學習實驗時,通常取出部分可利用資料作為test set 測試資...

element有關表單驗證

表單驗證的基礎是官網的api rules 位置放置在el form標籤當中 例如 rules formrules formrules則是放在data當中,其結構為 最後會附上一些相關例項 formrules phone message 請輸入正確的手機號 當然,其中的條件是多種多樣的,根據自己的專案...

有關陣列的運算

一維陣列 int a printf n a 陣列首元素的位址 printf n a 1 陣列第二個元素的位址 首元素位址 4 printf n a 陣列的位址 printf n a 1 陣列的位址 1,跳過整個陣列 printf n sizeof a 16 整個陣列的位元組數 printf n si...