[c++基础]typedef的作用域

来源:互联网 发布:php bindto 编辑:程序博客网 时间:2024/06/07 05:51

时常使用typedef,但是它的作用域是什么样的.

今天脑中突然冒出这个问题,发现自己不能第一时间反应过来。于是写了如下代码,验证下。

#include <stdio.h>void fun(){    typedef int  ScreenSizeType;    printf("call fun\n");}int main(){    fun();    ScreenSizeType size = 1;    printf("size:%d\n", size);    return 0;}
编译报错:

error:unknown type name 'ScreenSizeType'

修改代码改成如下形式,均可以成功编译成功:

#include <stdio.h>typedef int  ScreenSizeType;void fun(){    printf("call fun\n");}int main(){    fun();    ScreenSizeType size = 1;    printf("size:%d\n", size);    return 0;}
或者

#include <stdio.h>void fun(){    printf("call fun\n");}int main(){    typedef int  ScreenSizeType;    fun();    ScreenSizeType size = 1;    printf("size:%d\n", size);    return 0;}

结论:

typedef和变量一样,也有相似的作用域。

0 0
原创粉丝点击