关于宏IN、OUT和INOUT的说明

    xiaoxiao2021-03-25  154

    #define OUT

    #define IN

    #define INOUT

    在工程中会有类似于上面这种宏定义出现,到底表示什么意思呢?如下一段程序:

    #include<iostream> #define OUT #define IN #define INOUT void function1(OUT int* p) { *p = 10; return; } void function2(IN int* p) { printf("%d\n", *p); return; } void function3(INOUT int* p) { if (*p == 10) { printf("%d\n", *p); } return; } int main(void) { int a = 0; function1(&a); function2(&a); function3(&a); system("pause"); return 0; } 

    这个只在逻辑上起作用,IN        表示输入参数,指针指向的值不会修改;

                                                OUT   表示输出参数,指针指向的值会修改,且不会读;

                                                INOUT表示输入输出参数,指针指向的值会修改,且会读取

    转载请注明原文地址: https://ju.6miu.com/read-12572.html

    最新回复(0)