陣列的大小和長度

2021-08-17 19:26:10 字數 2641 閱讀 5983

#define _crt_secure_no_warnings 1

#include

int main() ;

//1.陣列名單獨放在sizeof()內部,陣列名表示整個陣列

//所以sizeof(陣列名)計算的是整個陣列的大小,單位是位元組

//2.&陣列名,陣列名表示整個陣列

//所以&陣列名取出的是整個陣列的位址

//3. 除此之外,所有的陣列名都表示首元素的位址

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

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

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

//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));//16

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

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

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

//字元陣列

//char arr = ;

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

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

printf("%d\n", strlen(*arr));//err

printf("%d\n", strlen(arr[1]));//err

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

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

//printf("%d\n", strlen(&arr[0]+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]));//1

//printf("%d\n", sizeof(&arr));//4

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

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

//  char arr = "abcdef";

//  printf("%d\n", strlen(arr));//6

//  printf("%d\n", strlen(arr+0));//6

//  //printf("%d\n", strlen(*arr));//err

//  //printf("%d\n", strlen(arr[1]));//err

//  printf("%d\n", strlen(&arr));//6

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

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

//  printf("%d\n", sizeof(arr));//7

//  printf("%d\n", sizeof(arr+0));//4

//  printf("%d\n", sizeof(*arr)); //1

//  printf("%d\n", sizeof(arr[1]));//1

//  printf("%d\n", sizeof(&arr));//4

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

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

//  char*   p = "abcdef";

//  printf("%d\n", strlen(p));//6

//  printf("%d\n", strlen(p+1));//5

//  //printf("%d\n", strlen(*p));//err

//  //printf("%d\n", strlen(p[0]));//err

//  printf("%d\n", strlen(&p));//隨機值

//  printf("%d\n", strlen(&p+1));//隨機值

//  printf("%d\n", strlen(&p[0]+1));//5

//char* * pp = &p;

//printf("%d\n", sizeof(p));//4

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

//printf("%d\n", sizeof(*p));//1

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

//printf("%d\n", sizeof(&p)); //4

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

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

陣列的大小和長度

printf d n strlen arr 隨機值 printf d n strlen arr 0 隨機值 printf d n strlen arr printf d n strlen arr 1 printf d n strlen arr 隨機值 printf d n strlen arr 1 ...

C C 檢視變數大小和陣列長度

這裡總結一下c c 中檢視變數大小,陣列長度等的方法。本文 在windows 8.1下使用dev c編寫,測試。1 標頭檔案 2 include c 3 或者 4 include c 5 函式原型 6externunsignedintstrlen char s strlen做的是乙個計數器的工作,函...

沒有長度的陣列

有人說c語言是乙個很詭異的語言,所以有時候我們會見到一些比較奇怪的定義,比如 struct a 這個看起來確實很奇怪,為什麼陣列沒有定義大小呢?但實際上這段 不僅可以通過大部分編譯器,並且用途還很廣泛。我工作的時候就遇到了不少這樣的 並且還是比較關鍵的 不過實際上事情並沒有那麼複雜和難以理解,不用看...