宏定义

 2023-06-05 15:43:53  阅读 0

由于c++保留了c的大多数内容,因此,作为c中非常常见的宏定义自然也就被保留了下来

 

在使用c++中的数组时,数组的初始内存必须是一个定值,是不能够进行修改的。但是,在编写较大的项目时,如果只是使用数字作为数组的标识就会显得十分麻烦。因为没有名字作为代称,我们在涉及到具体的数字时还需要不断返回数组定义位置查看。这时,通过宏定义就可以解决这个问题。

 

如下:

 

#include <iostream>
#define MAX 12
using namespace std;
int main()
{   
    int num[MAX];
    int i;
    for (i = 0; i < MAX; ++i)
    {
        num[i] = i;
        cout << num[i] << " ";
    }
    cout << endl;
    system("pause");
    return 0;
}

 

 

宏定义实际上就是等效替换的意思,通过#define可以为数字12取一个MAX的别名,通过别名来替换掉12,因此在定义int类型的数组时时不会出现错误的。

 

注意:

  1. 通常情况下宏定义都会采用全大写字母来代替数字,虽然这不是语法规定,但是却是大家默认的写法

  2. 宏定义通常都是写在函数之外的,且宏定义的末尾不需要分号

 

 

宏定义不仅仅可以用于数组的定义,还常常用于代替经常出现的数字。如下:

 

#include <iostream>
#define NUMBER 12
int main()
{
    int num1[NUMBER], num2[NUMBER];
    int i;
    for (i = 0; i < NUMBER; ++i)
    {
        num1[i] = i;
        num2[i] = i + 1;
    }
    for (i = 0; i < NUMBER; ++i)
    {
        std::cout << num1[i] << " " << num2[i] << std::endl;
    }
    return 0;
}

 

 

在这种情况下,num1和num2两个数组的大小都是12,且在遍历数组的时候也是用12来遍历。此时使用NUMBER来代替12就非常方便,如果需要改变数组的大小就可以通过直接给改变NUMBER后面的数字来实现。

上一篇: C++的异常处理
标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码