c++指针访问数组

#include<iostream>

using namespace std;

#include<ctime>

#include<string>

int main()

{

int arr[4]={10,20,30,40};

int *p=arr;//指针访问第一个数据

for (int i = 0; i < 3; i++)

{

cout<<*p<<endl;/* code */

p++;//指针偏移遍历每一个数据

}

指针进行函数传递

#include<iostream>

using namespace std;

#include<ctime>

#include<string>

void swap(int *p1,int *p2)//指针作为参数

{

int temp=*p1;

*p1=*p2;

*p2=temp;//通过指针进行数据的交换

}

int main()

{

int a=1000;

int b=2000;

cout<<"交换前a="<<a<<endl;

cout<<"交换前b="<<b<<endl;

swap(&a,&b);//传入实参

cout<<"交换后a="<<a<<endl;

cout<<"交换后b="<<b<<endl;

system("pause");

return 0;

}

指针应用实例

#include<iostream>

using namespace std;

#include<ctime>

#include<string>

void bum(int *arr,int len)//定义排序函数,传递地址参数

{

for (int i = 0; i < len-1; i++)

{

for (int j = 0; j < len-i-1; j++)

{

if (arr[j]>arr[j+1]/* condition */)

{

int temp=arr[j];/* code */

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

}

void printArry(int *arr,int len)//定义打印函数,传递地址参数

{

for (int i = 0; i < len; i++)

{

cout<<arr[i]<<endl;/* code */

}

}

int main()

{

int arr[]={1,4,2,8,9,5,3,7,10,6};

int len=sizeof(arr)/sizeof(arr[0]);

bum(arr,len);//传递实参调用函数

printArry(arr,len);//传递实参调用函数

system("pause");

return 0;

}

举报
评论 0