0. 这些问题都不是数据结构的问题,而是C的语言或语法问题
1. 问题1,2的共有问题,外部函数这个词的意思不是你所理解的那样。你这里的所有函数,包括InitQueue还是main都是一般的函数。main的区别在于它是主函数,程序从main开始执行。
2. main和所有函数一样,它的定义就包括了申明,这和它是不是调用别人没有关系。C语言没有匿名函数,你要写一个函数就至少要申明,至于你是否调用别人与否,那也是另外的事情。
3. 函数a要用到函数b,则函数b应该申明在函数a之前,否则a不知道b在哪里。main要用到别的函数,所以别的函数要申明在main之前,也就是放在上面。
4. typedef int datatype 没有问题,全局可用。你所说的“出队列的时候才可以这么定义”不理解是什么意思,请举例说明:如果你怎样写,则得到什么编译错误