在C中使用指針的原因 避免副本 在函數調用的時候,可以只傳遞數據的引用,而不用傳遞數據 數據共用 兩段代碼可以同時操作同一份數據,而不是兩份獨立的副本 使用指針讀寫數據 船長,向東航行! ...
在C中使用指針的原因
避免副本 在函數調用的時候,可以只傳遞數據的引用,而不用傳遞數據
數據共用 兩段代碼可以同時操作同一份數據,而不是兩份獨立的副本
使用指針讀寫數據
#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; }