一、指代不同
1、.c:表示C的源程序。
2、.cpp:表示C++的源程序。
二、变量声明不同
1、.c:c中变量声明和代码是分开的,必须在函数开始处声明。
2、.cpp:c++变量可以在任意处声明,只要保证先声明后使用就行。
三、指针类型不同
1、.c:void指针可以给任意类型指针赋值。
2、.cpp:必须先进行强制数据类型转换再赋值。
参考资料来源:百度百科-cpp
参考资料来源:百度百科-c
.c是c语言的源程序格式,.cpp是c++语言的源程序格式。这是两种不同的语言。
代码的问题原因:
编译器问题——C89和C99
C89规定,在任何执行语句之前,在块的开头声明所有局部变量。在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。
因此,变量声明放在前面就不报错了。
扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言缺点:
1.C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。
2.C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
参考资料:C语言-百度百科
VC里用cpp作后缀名, 在GCC里默认采用C、cc、cxx作为后缀名.cpp, .h (VS file)
.cc, .h (GCC file)
C中:
头文件后缀名: .h
源文件后缀名: .c
C++中:
头文件后缀名: .h, .hpp, .hxx
源文件后缀名:.cpp, .cc, .cxx, .C .c++
这是现在不同标准下给出的扩展名:
Unix: C, cc, cxx, c
GNU C++: C, cc, cxx, cpp, c++
Digital Mars: cpp, cxx
Borland: C++ cpp
Watcom: cpp
Microsoft Visual C++: cpp, cxx, cc
Metrowerks CodeWarrior: cpp, cp, cc, cxx, c++
这些东西其实就是个标注,给人看的,叫什么无所谓,只要能看出和c有关但也有别就行
我大胆YY一下:
c++就是直接用语言的名字命名的扩展名,cpp也类似(C Plus Plus)
但有些系统可能不支持在文件名里放入加号"+"
所以有用x代替+(你不觉得x很像斜倒下来的加号么……),于是有了cxx
而C和cc则是代表这是c的“加大”或“加强”版
当然,C这个扩展名在Win系统下用显然不合适,因为Win是大小写不敏感系统
对Win来说"test.c"和"TEST.C"是完全相同的文件名
但在Linux/Unix平台上就不同了
GCC 中以 .s为后缀的文件,是汇编语言源代码文件
-----------------------------------------------------
GCC文件后缀名:
.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的档案库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是已经预处理过的C源代码文件;
.ii为后缀的文件,是已经预处理过的C++源代码文件;
.m为后缀的文件,是Objective-C源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)