本文目錄一覽:
在c語言中用什麼函數判定一個變數的類型
在c語言中用沒有函數判定一個變數的類型,可以使用sizeof來判斷變數大小。
示例:
#include stdio.h
#include stdlib.h
int main(int argc,char **argv) //主程序
{
//對C語言內置類型的所佔位元組數的測試
printf(“size of char is: %d\n”,sizeof(char)); //字元型數據所佔位元組數 、
printf(“size of short is: %d\n”,sizeof(short)); //短整形數據所佔位元組數
printf(“size of int is: %d\n”,sizeof(int )); //整形數據
printf(“size of short int is: %d\n”,sizeof(short int)); //短整形
printf(“size of long int is: %d\n”,sizeof(long int)); //長整形數據
printf(“size of float is: %d\n”,sizeof(float)); //浮點型數據
printf(“size of double is: %d\n”,sizeof(double)); //雙精度數據
//對字元及字元串數組所佔位元組數的測量
char a[] ={‘a’,’b’,’c’,’d’,’e’};
printf(“size of a[] is: %d\n”,sizeof(a)); //輸出數組a[]所佔位元組數
char b[]={“abcde”}; //初始化字元串b
printf(“size of b[] is: %d\n”,sizeof(b)); //數組b[]
char c[][3]={{‘a’,’b’,’c’},{‘d’,’e’,’f’},{‘g’,’h’,’i’},{‘j’,’k’,’l’}}; //初始化二維字元型數組
printf(“size of c[][] is: %d\n”,sizeof(c)); //二維數組c所佔位元組數
printf(“size of c[0] is: %d\n”,sizeof(c[0])); //二維數組中的某行所佔的位元組數,例如第0行
printf(“size of c[0][0] is: %d\n”,sizeof(c[0][0])); //某行某個元素,例如第0行第0個元素
//對指針所佔位元組數的測量
char *p=0;
printf(“size of *p is: %d\n”,sizeof(p)); //字元型指針
system(“pause”);
return 0;
}
擴展資料
使用sizeof()計算數組長度
將sizeof用於 expr是並沒有計算expr的值。特別是在sizeof *p中,指針p可以是一個無效地址,因為不需要對p做解引用操作。
對char類型或值為char類型的表達式做sizeof操作結果為1。對引用類型做sizeof操作,將返回存放此引用類型對象所需的內存空間大小。
對指針做sizeof操作,將返回存放指針所需的內存大小,注意,如果要獲取該指針指向對象的大小,則必須對該指針進行解引用。對數組做sizeof操作等效於對其元素做sizeof操作的結果乘上數組元素的個數。
因為sizeof返回整個數組在內存中的存儲長度,所以用sizeof數組的結果初一sizeof其元素類型的結果,即可求出數組元素的個數:int sz = sizeof(ia)/sizeof(*ia);
通常將8位的塊作為一個位元組,32位或4個位元組作為一個 「字」。一般的short為半個機器字長,int為一個機器字長。
C語言,如何檢測變數的數據類型?
c語言沒有檢查變數類型的函數,在C語言中定義的變數,只是根據變數類型來分配默認的存儲空間大小,而不記錄空間中存儲的具體的值的類型。比如定義的字元類型可以當整形來用,可以直接在上面加減一個數值。
數據類型在數據結構中的定義是一個值的集合以及定義在這個值集上的一組操作。
變數是用來存儲值的所在處,它們有名字和數據類型。變數的數據類型決定了如何將代表這些值的位存儲到計算機的內存中。在聲明變數時也可指定它的數據類型。所有變數都具有數據類型,以決定能夠存儲哪種數據。
數據類型包括原始類型、多元組、記錄單元、代數數據類型、抽象數據類型、參考類型以及函數類型。
c語言使用sqrt函數得到的數據的類型?
要想弄清這個問題,首先要看看這個函數的原型:
打開頭文件:math.h
看到:
double _Cdecl _FARFUNC sqrt (double __x);
可見輸入的自變數的類型是雙精度型,輸出結果也是雙精度型。
因此,c語言使用sqrt函數得到的數據的類型是雙精度型(double)。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301537.html