#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),且只做用于整数)数组