C語言函數傳遞數組和傳遞地址的區別你知道嗎

傳遞數值

code:

#include <stdio.h>
void deliveryData(int data)
{
	data = data + 100;
	printf("deliveryData:data=%d\n", data);
}
int main(void)
{
	int data=10;
	deliveryData(data);
	printf("main:data=%d\n", data);
	return 0;
}

運行結果:

C:\Users\Administrator\Desktop\C_Study\新版本c語言\程序\unit5_function>a.exe
deliveryData:data=110
main:data=10

傳遞地址

code:

#include <stdio.h>
void deliveryData(int data[])//這裡int data[]是地址(相當於指針)
{
	data[0] = data[0] + 100;
	printf("deliveryData:data=%d\n", data[0]);
}
int main(void)
{
	int data[2]={1, 2};
	deliveryData(data);//這裡傳遞的是地址
	printf("main:data=%d\n", data[0]);
	return 0;
}

運行結果:

C:\Users\Administrator\Desktop\C_Study\新版本c語言\程序\unit5_function>a.exe
deliveryData:data=101
main:data=101

註:

傳遞數值,操作的是不同的內存空間傳遞地址,操作的是同個內存空間

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: