0

【笔记】C++指针

 1 year ago
source link: https://feiju12138.github.io/2022/08/10/C-%E6%8C%87%E9%92%88/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

C++指针学习笔记

指针的作用

  • 通过指着间接访问内存
  • 定义对应变量的指针,指针的数据类型要与对应变量的数据类型相同
  • 通过取址符号&得到对应变量的内存地址,将内存地址作为指针的值
  • 指针可以像变量一样,先定义后赋值,或者定义时直接赋值
数据类型 变量名 = 值;

数据类型 * 指针名;
指针名 = &变量名;

数据类型 * 指针名 = &变量名;
  • 通过解引用的操作得到指针指向的数据
  • 实际上作用和原数据的变量名相同
变量名;

*指针名;

指针占用的内存空间

  • 32位系统下占用4个字节
  • 64位系统下占用8个字节
  • 指针变量为0的指针为空指针,空指针不可被访问

0~255的内存地址是被系统占用的,应用程序不可访问

*指针名 = NULL;

*指针名 = 0;
  • 指针指向为非法的内存空间时的指针为野指针

const修饰的指针

  • 常量指针可以修改指针,但是不能修改指针指向的值,相当于指向了常量
const 指针类型 * 指针名 = &变量名;
  • 指针常量不可以修改指针,但是可以修改指针指向的值,相当于自身是一个常量
指针类型 * const 指针名 = &变量名;

const同时修饰指针和常量

  • 不可以修改指针,也不可以修改指针指向的值
const 指针类型 * const 指针名 = &变量名;

利用指针访问数组元素

int arr[2] = {1, 2};
// 访问第一个元素
int *p = arr;
// 访问第二个元素(向后偏移了1个int的字节数)
*p++;

利用指针传递函数的参数

返回值类型 函数名(数据类型 *形参名)
{
return 返回值;
}

int main()
{
数据类型 变量名 = 值;
函数名(&变量名);
return 0;
}

哔哩哔哩——黑马程序员


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK