这两个有什么区别不,cpp的为什么打不开

这两个分别是什么意思哇,cpp是什么,刚学c语言还搞不太明白

img

前者是源代码,后者是编译后的可执行文件。
前者用dev c++打开,编辑
后者在命令行里执行

【相关推荐】



  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7741805
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:c语言或者cpp中位运算的技巧
  • 除此之外, 这篇博客: 【自存学习笔记】Cpp自学教程(有C基础)持续更新中的 6.1函数重载 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    (Cpp新增功能)

    什么叫 函数重载?
    同一作用域内的,函数名字相同,但是参数列表不同的 函数,互为重载函数
    (特别注意:返回值,不作为函数重载的条件!)

    参数列表不同又分为 :
    参数类型不同
    参数个数不同

    什么叫同一作用域?

    #include <iostream>
    using namespace std;
    
    void fun(int a)
    {
    cout << '1:' << a <<endl;
    }
    
    void fun(int a , int b)
    {
    cout << '2:' << a <<' '<<b<<endl;
    }
    
    void fun(char c)
    {
    cout << '3:' <<c <<endl;
    }
    

    上面三个函数的名字都一样,这在C中是绝对不允许的,但是Cpp中引入了 函数重载的概念,就允许存在了。

    重载函数的 调用:

    sys会根据传入的实参 ,来进行自动匹配调用哪一个函数。比如:

    int main()
    {
    	fun(2);
    	fun('a');
    	fun(5,6);
    	
    return 0;
    }
    

    📒!函数重载Tips:
    float 类型的参数,传参的时候,小数后面必须加一个小f,不然默认是double类型的;

    什么叫同一个作用域?
    就是有共同的作用域的意思;
    函数作用域:指该函数往下的所有代码;

    返回值不作为函数重载的条件的意思是:
    如果两个函数的返回值不同,但是名字和参数列表都相同的话,是不能构成 函数重载的,也就是说,会报错(重定义了)

    默认参数和重载结合使用,可能会让调用不明确

    6.3防止头文件重复包含

    预处理:

    包含头文件
    防止头文件重复包含

    防止头文件重复包含:
    在C语言中为了防止头文件重复包含,我们用了这个结构:

    #ifndef AAA
    #define AAA
    //在这里写头文件的代码
    void fun()
    
    #endif
    

    Cpp里面,我们这样:

    #pragma once 
    //once的意思是 以下所有的代码仅编译一次
    void fun()
    
    

    区别?

    前者都通用,后者取决于编译器,有的编译器不支持这个预处理


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^