有關陣列的運算

2021-08-01 02:27:29 字數 2421 閱讀 1798

一維陣列:

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", sizeof(a+0));//4   首元素

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

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

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

printf("%\n", sizeof(&a));//4    取出陣列的位址(陣列的位址4個位元組)

printf("%\n", sizeof(&a+1));//4   指向第二個陣列位址

printf("%\n", sizeof(*&a));//16   陣列的位址(陣列大小)    

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

printf("%\n", sizeof(&a[0]+1));//4   指向陣列第二個元素的   

字元陣列

char arr = ;

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  指向陣列第二個元素

printf("%d\n", strlen(arr));            //6  遇到\n停止 

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

printf("%d\n", strlen(*arr));           //x   指首元素

printf("%d\n", strlen(arr[1]));        //x   指數組第二個元素向後遇到反斜槓0停止

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

printf("%d\n", strlen(&arr+1));      //隨機值n陣列加1,調到f後面

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

char *p = "abcdef";

printf("%d\n", sizeof(p));              //7  字串的大小

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(p));                //6  遇到\n停止 

printf("%d\n", strlen(p+1));            //5   第二個元素開始首元素

printf("%d\n", strlen(*p));               //x   指首元素

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

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

printf("%d\n", strlen(&p + 1));         //隨機值n-6,跳過字串

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

有關陣列的運算(一)

1.sizeof sizeof是乙個單目運算子,計算資料型別或變數長度 即所佔位元組數 int 整型型別佔4個位元組 char 字元型別佔1個位元組 位址佔四個位元組 2.strlen strlen 位址 以 0 為結束標誌計算字串長度的函式 不包括 0 3.陣列名,陣列名表示整個陣列,這裡取出的是...

時間有關的陣列

var header 00 00 00 30 01 00 01 30 02 00 02 30 03 00 03 30 04 00 04 30 05 00 05 30 06 00 06 30 07 00 07 30 08 00 08 30 09 00 09 30 10 00 10 30 11 00 1...

有關多維陣列

一 多維陣列初始化 和一維陣列一樣,多維陣列的初始化也可以分為靜態初始化 整體賦值 和動態初始化兩種,其語法格式如下。1 靜態初始化 以二維陣列的靜態初始化為例,來說明多維陣列靜態初始化的語法格式。示例 如下 在二維陣列靜態初始化時,也必須和陣列的宣告寫在一起。數值書寫時,使用兩個大括號巢狀實現,在...