思考题

为什么要区分.c和.h文件,这样有什么好处?
首先,.h文件是头文件,一般存放函数的声明、宏定义、结构体定义等;.c是源文件,是实现函数程序的功能。区分.c和.h文件,有利于整个程序的运行。
能不能把函数及变量的声明放在源文件里?
能够将函数及变量的声明放在源文件里。编译器在编译时是以.c文件为单位进行的,如果一个程序中没有.c文件是无法运行的。编译器在预处理阶段首先会读.c文件,会去寻找头文件中包含的变量、函数声明等,并将该文件中的全部东西扫描进当前这个.c文件,所以我认为直接将函数及变量声明放在源文件中不影响整个程序的运行。
能不能把函数和变量的定义放在头文件里?
我认为这是不能的。就我目前的知识告诉我,头文件中一般包含诸如math.h、stdio.h的内容,里面一般是大多数人普遍会使用到的函数,比如标准输入输出,而函数和变量的定义一般是基于当前程序而编写的,我认为它不能被编写在头文件中。
对于C语言不安全这个问题,我认为它主要体现在:其一,在于数组越界问题。当一份代码出现数组越界时,编译时并不会报错,这就导致我们在编译时并不能发现这个问题,要解决这个问题,更多要靠编写程序的人通过结果分析以及个人的细心来发现。其次,在于指针。指针在定义时一定得给它一个指向,不然会出现野指针,导致指针的指向不明,会导致出错。

原文地址:https://www.cnblogs.com/dudu340/p/12232711.html