码迷,mamicode.com
首页 > 编程语言 > 详细

C++笔记十三:C++对C的扩展——C++中所有变量和函数都必须有类型

时间:2018-04-30 18:11:14      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:edit   必须   \n   马虎   type   值类型   int   XA   c++   

C++中所有的变量和函数都必须有类型;

C语言中的默认类型在C++中是不合法的!

 

在C语言里面可以写一些很奇怪的函数!并且可以运行成功!

f(i)函数的返回值是什么类型?参数又是什么类型?我们赋值10居然可以打印出来!

g()函数可以接受多少个参数?我们没有参数,但是函数调用时我们可以加上参数,并且运行成功!

f(i)

{

    printf("i=%d\n",i);

}

g()

{

    return 5;

}

 

int main()

{

    f(10);

    printf("g()=%d\n",g(1,2,3,4,5));

 

    return 0;

}

 

运行结果:

i = 10

g() = 5

Press any key to continu

 

 

技术分享图片

 

所以说这就是C语言不好的地方,这个不好的地方C++对其进行了摒弃!

 

同样的代码我们放到C++中来看一下!

 

#include<iostream>

using namespace std;

 

f(i)

{

    printf("i=%d\n",i);

}

g()

{

    return 5;

}

 

int main()

{

    f(10);

    printf("g()=%d\n",g(1,2,3,4,5));

 

    system("pause");

    return 0;

}

 

发现编译报错。

 

 

技术分享图片

 

 

在C++中,不管是函数返回值类型还是变量类型,还是函数参数数量,我们都不能马虎,C++编译器都可以一一找出错误!下面的程序编译才可以通过!

 

#include<iostream>

using namespace std;

 

int f(int i)

{

    printf("i=%d\n",i);

    return 0;

}

int g()

{

    return 5;

}

 

int main()

{

    f(10);

    printf("g()=%d\n",g());

 

    system("pause");

    return 0;

}

 

因此C++对变量和函数的类型检查更加严格!

小结:

在C语言中

int f() 表示返回值为int类型,接受任意参数的函数;

int f(void) 表示返回值为int类型的无参函数。

在C++

int f()和int f(void)具有相同的意义,都表示返回值为int类型的无参函数。

C++更加强调类型,任意的程序元素都必须指明类型。

 

 

 

技术分享图片

 

技术分享图片

 

长按解锁

 

解锁更多精彩内幕

 

技术分享图片

依法编程

微信:Lightspeed-Tech

技术驱动生活

 

 

C++笔记十三:C++对C的扩展——C++中所有变量和函数都必须有类型

标签:edit   必须   \n   马虎   type   值类型   int   XA   c++   

原文地址:https://www.cnblogs.com/tyyhmtyyhm/p/8973888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!