利用IDE编写C语言程序的一点注意事项

时间:2020-12-18 20:30:25

  前言:我是喜欢编程的一只菜鸟,在自学过程中,对遇到的一些问题和困惑,有时虽有一点体会感悟,但时间一长就会淡忘,很不利于知识的积累。因此,想通过博客园这个平台,一来记录自己的学习体会,二来便于向众多高手请教。

  最近学习C语言,主要使用C-Free进行编写。在学习过程中发现,书中提示C语言必须要遵循某种写法,但是奇怪的是,不按照这种写法却也能通过编译。

  如以下代码:

 #include <stdio.h>

 struct point /*定义结构体*/
{
int x;
int y;
}; int main(int argc, char *argv[])
{
struct point A;
A.x = ;
A.y = ;
printf("A点坐标为:[%d, %d]\n", A.x, A.y);
return ;
}

  按书中所讲:第11行必须写成struct point A,而不能写成 point A。但实际却能顺利通过编译,后来又用VC++ 6.0进行测试,仍然通过编译。因为是同时看两本书自学,两本书上都这样写,我相信书上的应该是正确的。经过多次尝试,发现是默认文件扩展名的问题。

  C-Free和VC++ 6.0是根据源文件扩展名来编译的。如果源文件扩展名为.c,则视为C语言源文件进行编译;如果源文件扩展名为.cpp,则视为C++源文件进行编译。C-Free和VC++ 6.0默认的源文件扩展名都是.cpp,编译器视为C++源文件进行编译,而C++允许在声明结构体时省略关键字struct,所以就能顺利通过编译。

利用IDE编写C语言程序的一点注意事项

  如果保存时将源文件扩展名改为.c,或者修改默认扩展名,就会视为C语言源文件进行编译。因C语言不允许省略关键字struct,故编译时会提示错误。所以,在学习C语言时,应将IDE的默认扩展名设置为.c,或者先保存为.c文件再进行编译,以避免造成不必要的困惑。

利用IDE编写C语言程序的一点注意事项