當前位置:首頁 » 編程軟體 » c編程開頭

c編程開頭

發布時間: 2023-12-29 02:15:33

1. 為什麼有的c語言程序開頭有兩行#include <stdio.h>

一個#include <stdio.h>就夠了。


原因如下:

#include <stdio.h>指令實質是將stdio.h文件中所有內容全部拷貝到指令處位置,如需引用<stdio.h>,拷貝一次就好,所以一個#include <stdio.h>就夠了。

我們知道C/C++是不允許重復定義的,如果重復#include <stdio.h>、拷貝兩次,會不會導致重復定義呢?

答案是不會,因為標准庫中每個頭文件都有防止重復拷貝的機制,所以即便開頭有兩行#include <stdio.h>,實質上只拷貝了一次。

怎麼做到防止重復拷貝?有兩種方式:一是使用#pragma once,但這種不是C/C++語言標准所支持的方式,老的編譯器不支持,雖然如今廣泛採用,但兼容性一般;二是使用#ifndef,這種是標准方式。

我們在寫自己的頭文件時,也應該採用這種重復拷貝機制,因為項目文件多了,會出現繼承引用的情況,比如b.h包含了a.h,c.h也包含了a.h,而d.h同時b.h和c.h,這就相當於d.h包含了兩次a.h。如果沒有防止重復機制,編譯器就大可能會報告「重復定義」的錯誤。

(1)#pragma once就一條指令,要作為頭文件第一條有效指令,放在文件頂部位置;

(2)#ifndef使用如下(假如頭文件名為my.h)

#ifndef MY_H

#define MY_H

…… // 頭文件內容

#endif


VC++ 2010中的<stdio.h>:

2. 單片機C語言開頭怎麼寫

單片機C語言開頭一般是包含頭文件#include<reg51.h>,之後一般是申明變數。

熱點內容
英雄聯盟手游用什麼安卓手機 發布:2025-03-19 08:59:58 瀏覽:932
foxmail不能新建文件夾 發布:2025-03-19 08:45:39 瀏覽:32
安卓系統怎麼關閉電腦上的廣告 發布:2025-03-19 08:44:41 瀏覽:657
存儲過程調用c代碼 發布:2025-03-19 08:42:19 瀏覽:171
配置環境變數有什麼用 發布:2025-03-19 08:21:02 瀏覽:564
oppo手機微信如何設置支付密碼 發布:2025-03-19 08:18:49 瀏覽:798
如何設置進微信密碼是什麼 發布:2025-03-19 07:45:11 瀏覽:287
編譯原理概論實現文件讀寫 發布:2025-03-19 07:45:01 瀏覽:730
發微博python 發布:2025-03-19 07:44:19 瀏覽:427
農業銀行卡通常密碼是多少 發布:2025-03-19 07:44:14 瀏覽:741