在C语言中,声明指的是描述一个对象类型,指代该程序的其他地方有这样一个对象,而声明主要分为三类:函数声明,变量声明,以及类型的声明。
1. 函数声明:
举一个简单的例子:
#include <stdio.h>
int main()
{
void fun();
fun();
return 0;
}
void fun()
{
printf("Hello world\n");
}
其中在main()函数中的void fun()是对于调用函数的一个声明,告诉我们程序的其他地方有这样一个函数,因此我们可以在主函数中进行调用。
2.变量声明:
举一个简单的例子:
extern int x;
这个语句其实是对外部变量的一个声明,也就是它告诉我们在非当前源文件的某个地方有一个整型变量x,我们可以通过这个声明在接下来的程序中使用变量x。
3.类型声明:
举一个简单的例子:
#include <stdio.h>
typedef int *pint_t;
int main()
{
int a;
int *pa=&a;
pint_t paa=&a;
return 0;
}
其中int *与pint_t的作用是一样,换句话说在typedef int *pint_t这个语句中给了int *一个新的名字pint_t,也就是这个语句给int *整型指针这个类型定义了个新名字,并同时为这个类型做了声明,也就是之后的程序中pint_t等价于int *。
而与声明相对,定义则是确定一个对象的类型,并同时为这个对象分配相应的内存,用于创建这个对象。
定义的方法主要是:类型+对象名
例如:int i;char c;double d;float f;long l;等
最后特别注意的一点:在C语言中声明及定义需放在对象之前且放在该代码段的最前面。
#include <stdio.h>
int main()
{
int a=1;
a=10;
char c='c';
}
上面这个程序vs2008中是会报错的,我们应该讲char c='c';放在a=10;的前面。