C语言开头不同的问题
在学习C语言中,我看到
#include<stdio.h>
int main() 和
#include<iostream>
using namespace std;
void main()
这两中开头有什么不同?
答案:上面的stdio是c的输入输出头文件。
下面的iostream是c++的输入输出流头文件。标准c++包含时不写.h
using namespace std;是使用标准命名空间。。。。
总之,上面的是c,下面的是c++。
其他:对于include,前者是C语言的描述方法,后者是C++的,在C中头文件的后缀名为.h,而C++规定没有后缀名,另C++中有名字空间的概念,需要用using namespace std告诉编译器使用std名字空间,main函数返回值C++中必须为int main函数原型是 int main(...)
前一个比较“正确”
后一个大多数编译器下也可以用
从内容上看,
第一个个是C的代码风格
第二个是C++风格 一个是C语言的,一个C++的。 第一种是TC用的
第二种是C++用的 1.标识符命名规则:只能由字母、数字和下划线组成,且以字母或下划线开头,且2、int a 和int A是两个不同的变量,在c语言中区分大小写,比如 int include<stdio.h>表示使用标准输入输出库函数,int main() 表示主函数的返回值是整型数据。
#include<iostream>是输入输出流,使用< iostream>时必须使用namespace std;void main()表示主函数不取返回值; void f(int * &ptr)是自定义函数!
无返回值!参数类型为指向int型变量的指针变量!即参数&ptr的类型是指向int型变量的指针!那就很好解释啦!
int *ap = arr,实际上是 int *ap = &arr[0],
分开写就是:
int *ap;
ap = &arr[0];
故 f(ap) 相当于 f(&arr[0]) 传的参数是指向int型变量的指针!正确!
而 f(arr) 中 arr 是错误写法,数组单独使用必须加下标!
但指针指向数组时!可以写成:ap = arr 相当于 ap = &arr[0]
但单独使用 arr 是错误的!它什么也不是!更不会是指向int型变量的指针,它不存在!
上一个:c语言调用函数rectan输入三角形边长判断该三角形是什么类型三角形
下一个:c 语言数组问题,