微控制器 struct的外部引用 C 增強與引用

2021-10-11 23:38:02 字數 2445 閱讀 7731

以上c**c編譯器編譯可通過,c++編譯器無法編譯通過

1、c中定義結構體變數需要加上struct關鍵字,c++不需要

2、c中的結構體只能定義成員變數,不能定義成員函式。c++即可以定義成員變數,也可以定義成員函式

c語言:

struct stu

*/};

void test01()

;}

c++:

struct stu

};void test01();

//呼叫結構體中的成員方法(成員函式)

lucy.func();

}

c++新增bool型別

void test02()

2、c++語言三目運算表示式返回值為變數本身(引用),為左值,可以賦值

void test02()

能被賦值的就是左值 不能被賦值的就是右值

1、c語言中

const int a = 10;//不要把a看成常量

//a的本質 是變數 只是 唯讀變數

a、c語言的const修飾全域性變數預設是(外部鏈結的)fun.c

//c語言的const修飾全域性變數 預設是(外部鏈結的)

const int num = 100;//唯讀的全域性變數 記憶體放在文字常量區(記憶體空間唯讀)

main.c

//對fun.c中的num進行宣告(不要賦值)

extern const int num;

void test03()

總結:在c語言中1、const修飾全域性變數num 變數名唯讀 記憶體空間在文字常量區(唯讀)、不能通過num的位址 修改空間內容

2、const修飾區域性變數data 變數名唯讀 記憶體空間棧區(可讀可寫),可以通過data位址 間接的修改空間內容

2、c++中的const 深入理解

fun.cpp

//const修飾的全域性變數 預設是內部鏈結(只在當前原始檔有效 不能直接用於其他原始檔)

//const int num = 100;

//如果必須用在其他原始檔 使用唯讀的全域性變數 必須加extern將num轉換成外部鏈結

extern const int num = 100;

main.cpp

//宣告

extern const int num;

struct person

;void test04()

void test06()

void test07()

; //需求:給arr起個別名

int (&my_arr)[5] = arr;//my_arr就是陣列arr的別名

int i=0;

for(i=0;i<5;i++)

; //1、用typedef 給陣列型別 取個別名

//type_arr就是乙個陣列型別(有5個元素 每個元素位int)

typedef int type_arr[5];

//myarr就是陣列arr的別名

type_arr &myarr=arr;

int i=0;

for(i=0;i<5;i++)

void my_swap2(int *a,int *b)//a=&data1,b =data2;

void my_swap3(int &a, int &b)//a=data1,b=data2

void test04()

int& my_data1(void)

void test05()

void my_str2(char* &my_str)//char* &my_str = str;my_str等價str

void test07()

stu;

void myprintstu1(stu tmp)//普通結構體變數作為形參 開銷太大

51微控制器 外部中斷

int0是外部中斷0 0 int1是外部中斷1 2 t0和t1是定時器中斷 1,3 rx和tx是串列埠中斷 it0和it1確定工作方式 暫存器tcon中配置 ie0和ie1是中斷標誌位,為1的時候,向cpu傳送請求中斷 tf0和tf1是溢位中斷請求位 定時器溢位便置1,傳送請求中斷 ri和ti是序列...

C51微控制器 外部中斷

cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理 中斷發生 cpu暫時中斷當前的工作,轉去處理事件b 中斷響應和中斷服務 待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a 中斷返回 這一過程稱為中斷 如圖 引起cpu中斷的根源,稱為中斷源。中斷源向cpu提出的中斷...

微控制器引腳預設電平 微控制器的內部 外部結構

拿到一塊晶元,想要使用它,首先必須要知道怎樣連線,我們用的一塊稱之為89c51的晶元,下面我們就看一下如何給它連線。1 電源 這當然是必不可少的了。微控制器使用的是5v電源,其中正極接40引腳,負極 地 接20引腳。2 振蒎電路 微控制器是一種時序電路,必須提供脈衝訊號才能正常工作,在微控制器內部已...