2024/1/16——C++——函数、指针、构造体

本文介绍了C++中的函数定义与调用、指针概念及其在修改变量和动态内存分配中的应用,以及构造体(结构体)作为值类型的数据集合,探讨了值传递和地址传递的区别。
摘要由CSDN通过智能技术生成

1.函数

//函数定义   一定要放在使用的前面

// 形参
int add(int num1, int num2) {
    int sum = num1 + num2;
    return sum;
}

// 1.先声明
int sub(int num1, int num2);

  int a = 10;
  int b = 20;
  int s = add(a, b);            //实参
  cout<<"加法结果是:" << s << endl;                    //30

// 2. 后实现
int sub(int num1, int num2) {
   
        int sum = num1 - num2;
        return sum;  
}

 int s1 = sub(b, a);
 cout << "减法结果是:" << s1 << endl;                 //10 

--------------------------------------------------------------------------------------------------------------------

 // 函数 分文件编写:
 //1. 创建后缀名为 .h的 头文件
 //2 . 在头文件中 写函数的 声明

 //3. 创建 后缀名为.cpp 的 源文件
 //4. 在源文件中 写函数 的定义

最后 在主页面,即源文件下 使用:

2.指针

以下是对 f1,f2,f3,f4 四个 方法的定义:

void f1(int a) {    //  s和a的内存地址是不一样的,所以修改a的值之后,s的值是不受影响的
    a = 6;
}

void f2(int* a) {    //   通过指针去接收 实参传递过来的 内存地址   ;  s1 和 a 的 地址现在是一样的;
    *a = 16;
}

void f3(int arr[]) {
    for (int i = 0; i < 5; i++)
    {
        cout << arr[i] << endl;
    }
    arr[0] = 123;

}

void f4(int* arr) {                              //  数组的 首地址
    for (int i = 0; i < 5; i++)
    {
        cout << *arr << endl;
        arr++;
    }
    //arr[0] = 123;

}

通过指针,可以简化一些c++的编程任务的执行,还有一些比如:动态内存分配,没有指针 是无法执行的
    // 每一个变量都有一个内存位置,每一个内存位置都定义了可使用&符访问的地址,他表示了 内存中的一个地址

值传递 和 地址传递:

3.构造体

构造体是一个单一名称下不同数据类型的变量的集合。他与类比较相似(结构体是一种值类型),
两者都保存着不同数据类型的数据集合

储存 某个人 的一些信息:姓名、身份证号、头发、鼻子、耳朵可以创建不同的变量name. id ,hair,nose,ear....

struct Person {
    char name[50];     //名字
    int age;    // 年龄
    float salary;    // 工资
};

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值