1. 程式人生 > 其它 >指標和陣列、指標和函式

指標和陣列、指標和函式

點選檢視程式碼
#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;
}
  • 總結:如果不想修改實參,就用值傳遞;如果想修改實參,就用地址傳遞