指针与数组案例
利用指针访问数组元素。
#include<iostream>
using namespace std;
int main()
{
int arr[] = {2,3,4,5,6,7,3,2,1,4};
int * p = arr;
for(int i = 0;i<10;i++)
{
cout<<*p<<endl;
p++
}
return 0;
}
指针与函数案例
利用指针作函数参数,可以修改实参值。
地址传递。
#include<iostream>
using namespace std;
void swap(int *p1,int *p2)
{
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main()
{
int a = 1;
int b = 2;
swap(&a,&b);
cout<<"a="<<a<<"b="<<b<<endl;
return 0;
}
案例:
封装一个函数,利用冒泡排序,实现对整型数组的升序排序。
int arr[10]={9,1,3,2,8,7,5,4,6,0}
#include<iostream>
using namespace std;
void Maopao(int * arr,int num)//数组首地址+数组元素=整个数组
{
for(int i = 0;i<num-1;i++)
{
for(int j = 0;j<num-i-1;j++)
{
if(arr[j]>arr[j+1])
{
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main()
{
int arr[] = { 9,1,3,2,8,7,5,4,6,0};
int num = sizeof(arr)/sizeof(arr[0]);
Maopao(arr,num);
for(int i = 0;i<num;i++)
{
cout<<arr[i]<<endl;
}
system("pause");
return 0;
}