#define _CRT_SECURE_NO_WARNINGS 1 /************************************************ * @Title:> brief * @Description:> brief * @author:> HuaGe * @date:> 2020/10/29 8:46 ************************************************* *筆記: 一、通常狀況數組名就是首元素地址 ( 特殊1:sizeof(數組名)--此時的數組名錶示整個數組,計算整個數組大小,單位是字節; 特殊2:&數組名--表示取出整個數組的地址,但整個數組的地址和首元素地址值同樣,但意義不同。) 二、數組名只是一個地址(不可變),而指針是一個左值(可變) 三、指針數組: char *p[] = { "I Love You!","meet you" }; for (int i = 0; i < 2 ; i++){ printf("%s\t", p[i]);//%s經過字符串的首地址來輸出整個字符串 } 四、數組指針 int (*p2)[4] = &arr;//(*p2)[4]數組指針指向的是整個數組,*p2是數組的地址 ************************************************/ #include <stdio.h> int main() { int arr[] = { 1,5,3,7 }; int *p = arr;//p指向的是數組的第一個元素的地址,並非指向整個數組 int (*p2)[4] = &arr;//(*p2)[4]數組指針指向的是整個數組 for (int i = 0; i < 4; i++) { printf("%d\t", *(*p2+i)); } return 0; }
*筆記:
一、>> 右移符號位,移的是二進制位,右邊丟棄,左邊補0(正數)或補1(負數),有除2的效果。
二、<< 左移操做符,二進制左移一位,右邊補零。(注:不支持移動負位(如a>>-1),且只做用於整數)數組