2019年12月11日 星期三

C 指標變數(Pointer variable)

C 指標變數(Pointer variable)

參考來源 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=================================

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...