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的更多內容!