小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

15W4K58S4 實驗3:空指針與位變量

 360tsgyd 2018-06-26

實驗筆記3

電路圖如實驗1

關(guān)于void類型的指針:

定義可以指向任何類型變量的指針,即定義無類型通用指針void

void *pvoid;  

void指針的使用:
  
//如果有三個變量
   
char  a=1;
    
int   b=2;
    
float  c=3;

     
//定義無類型指針
   
void *pvoid;

     //將指針指向char 型變量a
?   
pvoid=&a; 

//void指針進行強制類型轉(zhuǎn)換,之后對a重新賦值

//(char *)pvoid   是強制類型轉(zhuǎn)換,

//*((char *)pvoid) 轉(zhuǎn)換之后再引用

   *((char *)pvoid)=10;

 

//顯示變量a的值,對void指針類型要做強制類型轉(zhuǎn)換

   printf("chara=%bd\n",*((char *)pvoid));

 

//將指針指向int  型變量b

   pvoid=&b;

//void指針進行強制類型轉(zhuǎn)換,之后對b重新賦值

   *((int *)pvoid)=20;

printf("intb=%d\n",*((int *)pvoid));

 

//將指針指向float 型變量c

   pvoid=&c;

//void指針進行強制類型轉(zhuǎn)換,之后對c重新賦值

   *((float *)pvoid)=30;

   printf("floatc=%f\n",*((float *)pvoid));

 

在多個文件中使用sbit bit 位變量

在某一個工程中可以包含若干個.c文件,如果在一個文件中定義了位變量,那么在其它文件中如何引用它們呢?

例如,在一個工程中包含了3.c 3a.c兩個文件,首先在3.c中定義位變量:

bit  irflag=0;               //定義簡單位變量

int  bdata bdat;          //在可位尋址區(qū)定義整型變量

char bdata bary[4];    //在可位尋址區(qū)定義字符型數(shù)組

 

//在可位尋址的基礎(chǔ)上定義位變量

//定義整型數(shù)bdat的最低位和最高位

sbit mybit0=bdat^0;

sbit mybit15=bdat^15;

 

//定義字符數(shù)組元素0的第7位和3的第7

sbit Ary07=bary[0]^7;

sbit Ary37=bary[3]^7;

 

//定義特殊功能寄存器P00位為LED

sbit LED0=P0^0;


//現(xiàn)在,想在3a.c中使用這些變量,首先頂一個與3a.c對應(yīng)的頭文件3a.h,在其中輸入

#ifndef  _3a_c_

#define  _3a_c_
?    .
?    .
?    .
?    .
 
?   
#endif
?   
//這樣做是為了避免重復(fù)編譯
?
 

#ifndef  _3a_c_

#define  _3a_c_

#include "STC15W4K.H"          //包含頭文件,里面有特殊功能寄存器的定義


//定義LED

sbit  LED0=P0^0;

//對于已經(jīng)在其它文件定義過的位變量,使用外部變量extern說明符

extern bit irflag;         //定義過的簡單位變量

extern bit mybit0;      //可位尋址區(qū)的int型變量的最低位

extern bit mybit15;    //可位尋址區(qū)的int型變量的最高位

extern bit Ary07;       //可位尋址區(qū)的char 型數(shù)組0號元素的第7

extern bit Ary37;       //可位尋址區(qū)的char 型數(shù)組3號元素的第7

void output(void);

#endif


頭文件其實就相當于各個源程序文件的接口,把可以被別的文件使用的變量和函數(shù)在頭文件中聲明。變量前要加關(guān)鍵字extern。

函數(shù)聲明前不需要extern關(guān)鍵字。因為在頭文件中聲明的函數(shù),缺省情況下都是整個工程中可見的。

如果不希望被其它文件看到,可以在定義函數(shù)的時候加關(guān)鍵字static。


?實驗效果:

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多