指针的运用

📅 发布时间:2026/7/11 23:40:21 👁️ 浏览次数:
指针的运用
一定义地址的别名指针是个变量储存某个变量的地址。int val0int*pval;p储存整形val的地址。二运算1.指针p指向的地址指向高地址增大数值与指针定义时的类型有关。2.*p对p指针解引用*p等价于指向地址所存储的变量val。在修改val的值时*p1等价与 val13.两个指针相减结果为间隔的元素个数前提为指向一片连续的存储空间如数组中。三const修饰指针const用于修饰静态变量const修饰的变量不可更改。int val0const int*pval则p所指的变量val的值不可修改即*p1为错误但p本身可以进行更改如pp--。int* const pval则p本身不可更改即p只能指向val而p所指的变量可以进行更改即*p1为正确写法。在定义二级指针指向一级指针时const所修饰的属性不可改变即在二级指针定义时也需要使用const修饰保证二级指针不越界。int val0const int*pval;因为对*p即所指的val修饰因此二级指针定义时const int**qp保证了**q所指的val也被修饰即val不可更改。int* const pvalconst对p进行了修饰 因此定义时int* const *qp对*q进行了修饰即p的地址不可修改。四指针与数组1.指针数组本质为一个存储指针的数组里面的每一个元素都是一个指针。int *arr[5];其中arr[0]到arr[4]为四个int*类型的指针。2.数组指针指向整个数组的指针int arr[5]int *p[5]arrp指向arr整个数组让p跳过一整个数组即步长为5p增加5*420个字节。