參考來源 : https://kopu.chat/2017/05/15/c%E8%AA%9E%E8%A8%80-%E8%B6%85%E5%A5%BD%E6%87%82%E7%9A%84%E6%8C%87%E6%A8%99%EF%BC%8C%E5%88%9D%E5%AD%B8%E8%80%85%E8%AB%8B%E9%80%B2%EF%BD%9E/
int b;
//跟記憶體要一塊區域稱為b,這塊區域專門放int型變數值
b = 2;
//把2這個值給變數b
int* pointer;
//跟記憶體要一塊區域稱為pointer,這塊區域專門放指向int型變數的指標(地址)
pointer = &b;
//把變數b的地址值給pointer,注意不能寫成 pointer = b;
=========ex1=================================
#include <stdio.h>
int main(void) {
int b = 2;
int c = 3;
int* pointer = &b; //宣告一個指標變數
printf("變數 b 的值:%d\n", b);
printf("變數 b 的記憶體位址:%p\n", &b); //%p為印出地址的16進位表示法
printf("變數 c 的值:%d\n", c);
printf("變數 c 的記憶體位址:%p\n", &c); //%p為印出地址的16進位表示法
*pointer = 10000; //*pointer 記憶體內容
printf("*pointer 的值:%d\n", *pointer); //*pointer 記憶體內容
printf("變數 b 的值:%d\n", b);
printf("變數 pointer 的地址:%p\n", &pointer); //&pointer記憶體地址
return 0;
}
=========ex1=================================
變數 b 的值:2
變數 b 的記憶體位址:0x7ffd800a5070
變數 c 的值:3
變數 c 的記憶體位址:0x7ffd800a5074
*pointer 的值:10000
變數 b 的值:10000
變數 pointer 的地址:0x7ffd800a5078
=========ex1=================================
沒有留言:
張貼留言