欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: C語言帶#號的編譯預處理命令和typedef類型名重定義 [打印本頁]

作者: qiushuliang    時間: 2022-6-1 10:12
標題: C語言帶#號的編譯預處理命令和typedef類型名重定義
#define    宏名   字符串  

以一個宏名稱來代表字符串,即當C語言程序中任何地方使用到宏名稱時,則將以所代表的字符串來代替。宏定義的一般是常數或者表達式常數項,不是變量。
用宏定義有什么好處呢?
1.如C語言程序中多處 引用某一常數量,可以用宏來定義,便于程序修改,維護時修改宏名即可完成所有常數量的修改。
例:
  1. #define CLOCK_BASE   1 //程序編譯時會有把程序中所有用CLOCK_BASE 表示的地方,替換成常數 1
  2. #define CLOCK_40MS  (65535-40000*CLOCK_BASE) // 表達式
  3. #define LED_ON ( )  RB1=1
  4. #define LED_OFF ( )  RB1=0

復制代碼

條件編譯
#if  表達式
#else
#endif

例1:
  1. #if  0  //0永遠不成立,編譯#else 后面的代碼
  2. P1 = P1 | 0XFE ;
  3. keyvalue = P1 &  0XFE ;
  4. #else
  5. P1 = P1 | 0X7E ;
  6. keyvalue = P1 &  0X7E ;
  7. #endif
復制代碼
typedef 重定義類型名
  1. typedef unsigned int  u16 ;
  2. typedef unsigned char u8 ;

  3. void typedef Demo1 (void)
  4. {
  5.    Bool j ;
  6.    j=0 ;
  7. }
復制代碼

#ifndef 宏名  
  1. # ifndef  PWM  //如果PWM沒有被定義過,則編譯下面的代碼
  2. #define PWM
  3. #define SUCCESS  0
  4. #define FAILURE 1
  5. #endif
復制代碼

有人說 :   程序=數據結構+算法,C語言程序學到這里還沒有正真的開始,一個用C語言編寫的單片機成品,打開電源時MCU執行的第一個程序是從main()這個函數開始的,在程序中重復執行循環,可以讓MCU不斷的輪詢外部狀態,以進行實時處理。C語言程序往往在編寫程序前要先指定頭文件,
#include 文件名.h,因為頭文件里面定義了很多單片機的公共變量及函數,必須聲明成外部的(extern),以利其他模塊和函數使用。下節從點亮一顆LED燈開始,說明單片機程序是如何運行起來的。

作者: a399288395    時間: 2022-6-2 08:44
這個資料挺好, 對于新手很有幫助,
作者: showlight    時間: 2022-8-7 21:28
void typedef Demo1 (void)
{
   Bool j ;
   j=0 ;
}

這個代碼 運行不了, 是我的機子出什么 問題了嗎?

作者: showlight    時間: 2022-8-7 21:35
這個資料很不錯,可就是我不會。

作者: qiushuliang    時間: 2022-8-26 11:28
showlight 發表于 2022-8-7 21:28
void typedef Demo1 (void)
{
   Bool j ;

typedef  bit  Bool;             #類型名重定義
void TypedefDemo1(void) #更正一下錯誤typedef Demo1    改寫成  TypedefDemo1
{
  Bool j;
  j = 0;
}




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1