1、C語言預處理定義
格式:#define NAME value
#define:c語言規定預處理開頭書寫
NAME:常量名,大寫儘量使用有意義的名字,提高程序的可讀性。
value:常量,可以是整型數、浮點型數、字符或字符串。(字符帶上單引號、字符串帶上雙引號)
2、sizeof和strlen( )
如:
#include<stdio.h>
#include<string.h>
#define PRAISE "you are an extraordinary being."
int main(void)
{
int name[32];
printf("what is your name:");
scanf("%s",name);
printf("hello ,%s . %s\\n",name,PRAISE);
printf("your name of %d letters occupies %d menory cells.\\n",
strlen(name),sizeof name);
printf("the phrase of praise has %d letters",
strlen(PRAISE));
printf("and occupies %zd memory cells.\\n",sizeof PRAISE);
return 0;
}
輸出結果:
首先:strlen( )包含在string.h庫文中,使用時要在程序前進行庫調用:#include<string.h>
其次:sizeof和strlen()雖然同為查詢字符串或數組佔用多少字節存儲空間。但是sizeof查詢的數組變量聲明的大小,和實際存儲在數組中的字符多少無關,而對於宏定義(#define PRAISE "you are an extraordinary being.")運用sizeof查詢它的字節數為實際字符串的大小+1.當然strlen()則剛好相反。
最後:strlen( )在查詢時把備查參數放到小括號裡面,對於sizeof沒有這樣的書寫要求。
3、明示常量詳解
對於C語言常量可以說是整個數據系統,但是有時候我們使用一些特殊的常量,比如int類型最大負整數,char類型的位數、float類型的最大正整數等等。為此C語言專門為這些常量做了一些標準,使用的時候我們直接調用即可。
printf("MAXium int value on this system=%d\\n",INT_MAX);
這些標準的常量被定義在limits.h和float.h兩個頭文件中。當然在程序中要想使用必須預處理。#include<limits.h>和#include<float.h>,常用的明示常量分為整型和浮點型,下面分別對它們做一個簡要介紹。/<float.h>/<limits.h>
3.1 整型明示常量包括int和char
我們在使用的時候不用每次查表或記下來,只要理解下面的幾點就可以
第1點:只要我們記住BIT(位)、MAX (最大值)、MIN(最小值)這三個修飾詞。
第2點:SCHAR是signed char,UCHAR是unsigned char,USHRT是unsigned short......
3.2 浮點型明示常量float
FLT_MANT_DIG:float類型的尾數位數
FLT_DIG:float類型的最少有效數字位數(十進制)
閱讀更多 1simple 的文章