1619-7 张良 十一月七号总结 [连续第三十八天]

本文探讨了C++中变量的存储类型,包括静态存储和动态存储的区别,并通过示例代码进行了展示。同时,文章还介绍了宏定义的使用方法及其在实际编程中的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标题:学习函数

关键词:函数

内容:

1  变量的储存类型

c++中变量的储存类型分为静态储存方式和动态储存方式。通过例题说明

//

//  main.cpp

//  函数

//

//  Created by 张良 on 2016/11/7.

//  Copyright © 2016 张良. All rights reserved.

//


#include <iostream>

void f(int a)

{

    static int i=0;//这里的i就是局部静态变量,当然每次调用它只有固定的空间,所以每一次用i,都是结束后保留下来的值

    int k=0;//k是动态变量,每一次使用都是重新分配空间,所以它永远是最初的值2

    i+=a;

    k+=2;

    std::cout<<"局部静态变量:i="<<i<<'\t'<<"动态变量:k="<<k<<'\n';

}

int main()

{

    for(int i=1;i<=3;i++)

        f(i);

}

2  寄存器类型变量,是指由关键词register说明的局部变量;

外部类型变量 关键词extern修饰的变量。

3  编译预处理

常见的预处理有以下三种:

     文件包含:#include 是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。

      宏替换: #define,这是最常见的用法,它可以定义符号常量、函数功能、重新命名、字符串的拼接等各种功能。        

      条件编译:#if,#ifndef,#ifdef,#elif,#endif,#undef等也是比较常见的预处理,主要是进行编译时进行有选择的挑选,注释掉一些指定的代码,以达到版本控制、防止对文件重复包含的功能。(百度的,其实还是不太懂

宏定义


#include<iostream>

#define M i+i

#define N (i+i)

int main()

{

    int a,b,i=1;

    a=2*M+3*M;//这里 a=2*i+i+3*i+i,因为这里没有加括号,i+i不是一个整体

    b=2*N+3*N;//这里 b=2*(i+i)+3*(i+i)

    std::cout<<"a="<<a<<'\n';

    std::cout<<"b="<<b<<'\n';

}

输出为

a=7

b=10

Program ended with exit code: 0

明天继续学

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值