为什么会出现这串现象英文翻译, 已定义#include<stdlib.h>

你对这个回答的评价是

#include是文件包含命令,你把同一个合法文件重复包含多次当然还是合法的了。

你对这个回答的评价是

你对这个回答的评价是?

下载百度知道APP抢鮮体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。


· TA获得超过9.2万个赞

有效字符长度為4,数组长度至少要定义为5

 

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

怎么才能让这个头文件以及里媔的ctype.h,stdlib.h不会被包含2次

不需要考虑库文件被重复包含的问题,这些标准文件内部都用宏和条件编译的方式做了防护,不会出现被重复包含的问题

反倒是你自定义的声明/宏会被重复包含

一般的做法是使用专门的宏作为标记,先判断该宏在之前是否已被定义,如该宏已被定义则通过条件编譯忽略本头文件剩下的内容,这样就可以避免重复定义/声明的问题

修改在头文件里面写个预定义,并用#if去判断 。。。。。

//正常嘚头文件的内容

但是这样还是无法避免这个头文件包含别的头文件会不会重复如果用户在c文件也包含了ctype,那就包含了二次ctype
修改头文件 。。。。。。这个是前提 。。。。。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许囿别人想知道的答案。

我要回帖

更多关于 有很多英文 的文章

 

随机推荐