指针基本概念
定义指针使用指针 指针所占内存空指针和野指针
空指针野指针 const 修饰指针
const 修饰指针 ------常量指针const 修饰常量 ------指针常量const 既修饰指针,又修饰常量 指针和数组指针和函数
值传递地址传递
指针基本概念 定义指针指针的作用:
可以通过指针间接访问内存(指针记录地址编号,或,指针就是地址)。
int a; int*p; //数据类型 * 指针变量名 a=&p; //让指针记录变量 a 的地址
&p 是将元素 p 转化成一个地址。而 *p 则是接收地址,并对其进行访问。
使用指针- 可以通过解引用的方式找到指针指向的内存。指针前加上 * ,表示解引用。可以用指针间接访问数值,并对其进行修改。
| 系统操作系统 | 字节空间 |
|---|---|
| 32位(x86) | 4个字节 |
| 64位(x64) | 8个字节 |
定义: 初始化指针变量(空指针指向的内存不可以访问)
int*p; *p=NULL;野指针
定义: 指针变量指向非法的内存空间(可以理解为越界行为)。
int *p; *p=(int*)0x1100; //在程序中,出现野指针就会报错。const 修饰指针 const 修饰指针 ------常量指针
指针的指向可以修改,但指针指向的值不可以改。
int a=10; int b=10; const int*p=&a; *p=20; //错误 *p=&b; //正确const 修饰常量 ------指针常量
指针的指向不可以改,但指针指向的值可以改。
int a=10; int b=10; const int*p=&a; *p=20; //正确 *p=&b; //错误const 既修饰指针,又修饰常量
指针的指向和值都不可以改。
const int * p=&a;指针和数组
int arr[5]={0,1,2,3,4};
int * p=arr;
//arr就是数组首地址
cout<<"利用指针访问第一个元素:”<<*p<
指针和函数
值传递
地址传递
#include
using namespace std;
void swap(int*a ,int*b);
int main()
{
int a=10;
int b=20;
swap(&a,&b);
cout<<"a="<



