一.sizeof()的有關運算
1.知識:
2.相關計算
includeint main()
; printf("%d\n",sizeof(a)); //整個陣列的大小 16
printf("%d\n",sizeof(a+0)); //首元素的位址加0,還是首元素的位址 4
printf("%d\n",sizeof(*a)); //陣列a首元素的大小 4
printf("%d\n",sizeof(a+1)); //陣列a首元素的位址加1,表示陣列第二個元素的位址的大小,位址為4個位元組 4
printf("%d\n",sizeof(a[1])); //陣列a第二個元素的大小 4
printf("%d\n",sizeof(&a)); //陣列a首元素位址的大小 4
printf("%d\n",sizeof(&a[0])); //陣列a首元素位址的大小 4
printf("%d\n",sizeof(&a[0]+1)); //陣列a第二個元素的位址的大小 4
return 0;
}//字元陣列
#includeint main()
; //arr表示乙個字元陣列,裡面有6個元素,不包括\0,乙個char型別大小為1個位元組
printf("%d\n", sizeof(arr)); //整個陣列的大小 結果為6
printf("%d\n", sizeof(arr+0)); //陣列首元素的位址 4
printf("%d\n", sizeof(*arr)); //陣列首元素的大小 1
printf("%d\n", sizeof(arr[1])); //陣列第二個元素'b' 的大小 1
printf("%d\n", sizeof(&arr)); //陣列首元素的位址 4
printf("%d\n", sizeof(&arr+1)); //跳過整個陣列,後面內容的位址的大小 4
printf("%d\n", sizeof(&arr[0]+1)); //陣列第二個元素的位址的大小 4
return 0;
}
二.strlen()的有關運算
1.strlen()用來計算指定字串的長度,不包括結束字元「\0」;它會從首位址一直找下去,直到遇到"\0"停止。
#include#includeint main()
; printf("%d\n", strlen(arr));
//從陣列的首元素位址一直找下去,直到"\0"停止,該陣列不包括"\0",所以它會一直找下去,計算結果為一隨機數
printf("%d\n", strlen(arr+0));
//從陣列的首元素位址一直找下去,計算結果為一隨機數
printf("%d\n", strlen(*arr));
//*arr表示首元素,即'a',也就是從位址值為97開始找,但97是乙個未知位址,不允許訪問,所以這題是錯誤的
printf("%d\n", strlen(arr[1]));
//arr[1],即'b',所以這題也是錯誤的
printf("%d\n", strlen(&arr));
//從陣列的首位址一直找下去,計算結果為一隨機數
printf("%d\n", strlen(&arr+1));
//從跳過這個陣列的位址開始找下去,計算結果為一隨機數,比上式大6
printf("%d\n", strlen(&arr[0]+1));
//從陣列的第二個元素的位址一直找下去,計算結果為一隨機數,比上式小5
return 0;}2.
#include#includeint main()
C語言指標與陣列的一些基本知識
我還是乙個初學者,今天看了一天的書,總結了如下知識點。指標與陣列 int p p a p 1 指標 指標就是乙個位址,指標變數是存放位址的變數,指標變數的值就是指標p指向那個元素的位址。p a 把a的位址賦給指標變數p 指標變數p的值就是a的位址,p指向a printf d p 輸出指標變數p所指向...
JS中的陣列(關於陣列的一些基本操作與一些騷操作)
本次筆記記錄一下個人關於陣列沒掌握好的一些知識點 arra.of用來建立單個陣列 當我們想建立陣列中只有乙個元素,且元素值為1的時候 let arr1 new array 1 console.log arr1 很顯然,列印出的卻是長度為1的空陣列 正確方法來了 let arr2 array.of 1...
關於陣列和指標的一些基本問題
2.另外文中有些細節可能引用您的內容卻未給出參考,請原諒我的疏忽,你的共享我不會忘記.3.email lizhiguo0532 163.com 李枝果 lizgo 1.乙個變數,同時具有兩個屬性 左值和右值,左值表示該變數所分配空間的位址,右值表示該變數空間中所儲存的值。2.乙個變數的型別就是其中所...