穆扬兄,这次,你我观点又不同了
1.并非只有int型才可以忽略,而且非int类型太广泛。事实上,不可忽略的一般只有上述三种类型。
2.函数定义与函数声明略有不同:
int a;既是对整形变量a的定义,也是对其的声明.
而extern int a;则只是声明程序要引进a这个变量,并非是对a的定义,对a的定义是在其他源文件中完成的。

对不礼貌的女生收钱......
穆扬兄,这次,你我观点又不同了
1.并非只有int型才可以忽略,而且非int类型太广泛。事实上,不可忽略的一般只有上述三种类型。
2.函数定义与函数声明略有不同:
int a;既是对整形变量a的定义,也是对其的声明.
而extern int a;则只是声明程序要引进a这个变量,并非是对a的定义,对a的定义是在其他源文件中完成的。
按您的意思,函数定义时自然不能忽略,就连int都要写进去.
顺便说下,你我眼中对函数定义概念有所差别,函数声明倒是一样,
那您按您的意思去理解我9楼的说法了吗?
您看下简单两个例子,再看看我9楼是不是说错了。如果您执意说我错了,请给个理由。
#include "Stdio.h"
#include "Conio.h"
int main(void)
{
double squre();
printf("%f",squre(3.));
getch();
return 0;
}
double squre(double x)
{
return x*x;
}
#include "stdio.h"
#include "conio.h"
int main()
{
double a=12,b;
void square();
square(&b,a);
printf("%f",b);
getch();
return 0;
}
void square(double *p,double a)
{
*p=a*a;
}
我发现我们现在争的问题跟楼主所问的问题有些偏了.
您15楼所说的,我都接受。但楼主所问的问题似乎不是这个。所以我们没有争论的必要。
我9楼所表达的是针对楼主的问题出发的,但您似乎对我的意思有些误解,我建议您再看下楼主的帖子,然后我们接着讨论。
至于函数定义和函数声明那倒是无关紧要的,无须作太大的考究。有些时候,求同存异也是挺好的,能让我们对我们不同的地方保持疑问,直到确认新的答案为止,呵呵。