指针和数组、指针和函数

点击查看代码
#include<iostream>
#include<string> 

using namespace std;


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

	cout << "第一个元素arr[0]是:" << arr[0] << endl;

	int *p = arr;//arr 就是数组的首地址值

	cout << "利用指针访问第一个元素:" << *p << endl;

	p++;//让指针向后便宜4个字节

	cout << "利用指针访问第二个元素:" << *p << endl;

	cout << "利用指针便利数组:" << endl;

	int *p1 = arr;
	for(int i = 0; i < 10; i++)
	{
		cout << *p1 << endl;
		p1++;
	}

	system("pause");

	return 0;
}

 

  • 值传递和地址传递

点击查看代码
#include<iostream>
#include<string> 

using namespace std;

void swap(int *p1, int *p2)
{
	int temp = *p1;
	*p1 = *p2;
	*p2 = temp;

}

int main(){
	
	int a = 10;
	int b = 20;

	//地址传递
	//可以修饰实参(指针保存的是地址)
	swap(&a, &b);

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	system("pause");

	return 0;
}

 

  • 总结:如果不想修改实参,就用值传递;如果想修改实参,就用地址传递

 

posted @ 2021-08-02 19:36  毋纵年华  阅读(25)  评论(0)    收藏  举报