H在C語言
A. c語言中數字後面h是什麼意思,如l=00030000h
h表示十六進制,但在C語言中,這種表示方法是不能識別的吧,
上述數字應該表示為0x00030000
B. c語言中如何調用.h文件
LZ是不是不知道怎麼把多個文件聯系在一起編譯運行啊!
首先修正一個樓上的錯誤。對於用戶自己寫的頭文件,應當用#include
「XX.h」
而不能用#include
<XX.h>。否則將會出錯。
LZ在寫好這個頭文件後,比如你說的XX.h
只需要在你的源文件,也就是.C文件的開頭使用預處理命令#include
"XX.h"便可以將頭文件裡面的內容包含到你的.C文件了。
然後直接編譯,鏈接你的源文件(.C),然後生成生成.EXE文件,便可以運行了。
LZ注意嘍!一定要把你的頭文件和源文件放到同一個文件夾目錄下,才能正確運行嘍!
C. 一個簡單的c語言中結構體問題,那個h指的是什麼意思
這個h是多餘的吧,在下面的初始化中沒有對h賦值
或者此h是為了擴展用,用於輸入其它成績信息
D. C語言如何製作自己的 h 文件
一個.h文件要
對應有一個.c文件,這樣寫助於查看和修改程序。比如a.h
和
a.c;:
在.h文件中
#ifndef
__A_H_
#define
__A_H_
#include
void
trans2(double
B)
;
double
trans1()
;
#endif
在.c文件中
#include
"a.h"
把相應的函數定義寫在.c文件中
再在main.c文件中
#include
"a.h"
#include
main()
{
double
trans1()
//由度分秒到弧度
{
double
B1,B11,B12,B13,B111;
scanf("%lf°%lf′%lf″",&B11,&B12,&B13);
B111=fabs(B11);
//B11可能為負值
B1=B111+B12/60.0+B13/3600.0;
B1=B1*atan(1)/45.0;
if(B11<0)
B1=-B1;
return
B1;
}
void
trans2(double
B)
//由弧度到度分秒並輸出角度值
{
int
a,b;
double
B0;
B0=fabs(B);
//B可能為負值
double
c;
B0=B0*45.0/atan(1);
a=int(B0);
b=int((B0-a)*60);
c=(B0-a)*3600-b*60;
if((int)(c)==60)
//為了避免出現59′60″這種情況,不過好像不起作用,不知道為什麼,原來是int沒有加括弧
{
b=b+1;
c=0.0;
}
if(b==60)
{
b=0;
a=a+1;
}
if(B<0)
a=-a;
printf("%d°%d′%.4f″\n",a,b,c);
}
}
就可以在main.c函數中調用a.c中的函數了
E. stdio.h在c語言中什麼意思
stdio.h就是指「standard input&output"
意思就是說標准輸入輸出頭文件。
所以用到標准輸入輸出函數時,就要調用這個頭文件。
調用:#include<stdio.h> 或#include"stdio.h"
stdio.h是C語言庫文件的頭文件之一,包含了常用的標准輸入輸出。在源文件中包含了stdio.h 就等於聲明了stdio.h中的所有函數,並使該文件中的所有宏定義在源文件中可用。
(5)H在C語言擴展閱讀:
一般地,在C語言或C++中,會把用來#include的文件的擴展名叫 .h,稱其為頭文件。 #include文件的目的就是把多個編譯單元(也就是c或者cpp文件)公用的內容,單獨放在一個文件里減少整體代碼尺寸;或者提供跨工程公共代碼。在現行的c++版本中,應用這個頭文件應是#include<stdio.h>。
F. C語言是在.h中定義結構體還是在.c中定義
如果只是用到聲明,放在.h種就行了;
如果聲明的同時並定義一個全局變數的話,在.h里用extern聲明,並在對應的.c里定義。
其它的.c文件直接include就行了
G. C語言中 .c和.h有什麼區別
一、意思不同
.h中一般放的是同名.c文件中定義的變數、數組、函數的聲明,需要讓.c外部使用的聲明。
.c文件一般放的是變數、數組、函數的具體定義。
二、用法不同
.c文件,以c為擴展名,一般存儲具體功能的實現。
.h文件,稱為頭文件,一般存儲類型的定義,函數的聲明等。通常,頭文件被.c文件包含,使用#include 語句。但值得注意的是,這只是一種約定,而非強制。
三、作用
如果在h文件中實現一個函數體,那麼如果在多個C文件中引用它,而且又同時編譯多個C文件,將其生成的目標文件連接成一個可執行文件,在每個引用此h 文件的C文件所生成的目標文件中,都有一份這個函數的代碼,如果這段函數又沒有定義成局部函數,那麼在連接時,就會發現多個相同的函數,就會報錯。
如果在h文件中定義全局變數,並且將此全局變數賦初值,那麼在多個引用此h文件的C文件中同樣存在相同變數名的拷貝,關鍵是此變數被賦了初值,所以編 譯器就會將此變數放入DATA段,最終在連接階段,會在DATA段中存在多個相同的變數,它無法將這些變數統一成一個變數,也就是僅為此變數分配一個空 間,而不是多份空間,假定這個變數在h文件沒有賦初值,編譯器就會將之放入BSS段,連接器會對BSS段的多個同名變數僅分配一個存儲空間。
H. c語言中*.h文件是干什麼的
我們一般在.h類的頭文件裡面只放入函數聲明,宏定義,函數原型。
而具體的實現在.cpp文件裡面
比如你在<math.h>裡面看到的數學函數都只有聲明
具體實現在<math.cpp>裡面
在編譯的時候,編譯器會自動載入和.h匹配的.CPP文件。