1、const修饰指针有三种情况:
1)、const修饰指针 ----常量指针;
2)、const修饰变量 ----指针变量;
3)、const修饰指针,有修饰变量;
示例:
#include <iostream>
using namespace std;
int main()
{
//const 修饰指针 常量指针
int a = 10;
int b = 10;
const int* p = &a;
//指针指向的值不可以改,指针的指向可以改
//*p=20 ;错误
p = &b;//正确
//const修饰常量
//指针指向不可以改,指针指向的值可以改
int*const p2 = &a;
//const 修饰指针和变量
const int * const p3 = &a;
//指针的指向 和指针指向的值 都不可以改
//*p3 = 100; //错误
//p3 = &b;错误
system("pause");
}
```****
**2、指针、数组、函数
案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序。
例如数组:int arr[10] = {4,3,6,9,1,2,10,8,7,5}
示例:**
```cpp
#include <iostream>
using namespace std;
/// <summary>
/// 冒泡排序
/// </summary>
/// <param name="arr">数组的首地址</param>
/// <param name="len">数组长度</param>
void bubbleSort(int* arr, int len)
{
for (int i = 0; i < len - 1; i++)
{
for (int j = 0; j < len - i - 1; j++)
{
//如果j>j+1的值 交换数字
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
/// <summary>
/// 打印数组
/// </summary>
/// <param name="arr"></param>
/// <param name="len"></param>
void printArray(int* arr, int len)
{
for (int i = 0; i < len; i++)
{
cout << arr[i] << endl;
}
}
int main()
{
//1、先创建数组
int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
int len = sizeof(arr) / sizeof(arr[0]);
//2、创建函数,实现冒泡排序
bubbleSort(arr, len);
//3、打印排序后的数组
printArray(arr, len);
system("pause");
}