c语言内存的编号即为地址,地址即为指针;
指针变量的大小去接于地址的大小,32位平台下是4个字节,64位平台下是8个字节,与类型无关;
指针变量类型的意义:1、解引用时访问几个字节 2、指针加减整数跳过几个字节(指针减指针是中间的元素个数)
const修饰指针变量:const int* p //int *const p//const int const* const p
野指针:指向位置不可知(未初始化、越界访问、指向空间释放)规避 野指针可将指针及时置为NULL ,可用assert (p!=NULL)进行判断
指针在传址调用上方便解决问题:swap函数交换两个数的值
数组名表示数组首元素的地址,但有两个例外(1.sizeof(arr)2.&数组名)
对于一维数组,*(p+i)==p[i]