避免副本 在函數調用的時候,可以只傳遞數據的引用,而不用傳遞數據
數據共享 兩段代碼可以同時操作同一份數據,而不是兩份獨立的副本
#include <stdio.h>
int main(){
int x=5;
printf("x lives at %p\n",&x);//%p格式符將地址以16進制的格式輸出
int* address_of_x=&x;//用指針變量保存x的地址
int value=*address_of_x;//通過*運算符可以獲取指針地址所指向的值
printf("%i\n",value);
*address_of_x=10;//改變address_of_x地址所指向的空間的值
printf("After the change,x = %i\n",x);
return 0;
}
#include <stdio.h>
void go_south_east(int* lat,int* lon){
//通過*運算符找到lat地址對應的空間
*lat=*lat-1;
*lon=*lon+1;
}
int main(){
int latitude=32;
int longtitude=-64;
go_south_east(&latitude,&longtitude);//傳遞變量的地址
printf("Avast! Now at:[%i,%i]\n",latitude,longtitude);
return 0;
}