首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

typedef 和define的区别

总结一下typedef和#define的区别 1.概念   #define 它在编译预处理时进行简单的替换,不作正确性检查。它是预处理指令。  ...typedef 它在自己的作用域内给一个已经存在的类型一个别名。它是在是在编译时处理的。   ...:   typedef double D;//就是给double起一个别名D D val;//相当于是double val //用dypedef定义数组 typedef double arr[3];/...fun是一个指向 void类型的指针函数 void StrGet() { qDebug()<<"str"; } fun f1=StrGet; f1(); 2.区别 执行时间不一样     ...#define 是在预处理阶段,也就是在编译之前进行替换工作     typedef 是在编译阶段,会进行类型检查 作用域不同     #define 无论在哪定义过,在其它的地都可以使用     typedef

1.1K70

iOS学习——#define、const、typedef区别

在iOS开发中经常遇到一些字段和类型的定义,例如配置生产和测试不同环境的参数等,这时候经常用到#define、const以及typedef。那么它们之间有什么区别呢?我们接下来一个一个具体了解下。...constString1地址不能修改,constString1值能修改 const NSString *constString1 = @"I am a const NSString * string"; //意义同上,无区别...值不能修改 NSString * const stringConst = @"I am a NSString * const string"; constString1 跟constString2 无区别...开发中最常用到的应该就是使用typedef定义枚举和block了,此外还可以用typedef定义函数。...(){ MyMethod m = add; m(5,6); //调用函数 return 0; } 二、区别 2.1 #define与const 宏在预编译时处理(宏在编译开始之前就会被替换

76840
您找到你想要的搜索结果了吗?
是的
没有找到

typedef用法

区别请看另一篇博文:const char*, char const*, char*const的区别 )原因在于const给予了整个指针本身以常量性,也就是形成了常量指针char* const。...简单来说,记住当const和typedef一起出现时,typedef不会是简单的字符串替换就行。...第三、typedef 与 #define的区别案例一:通常讲,typedef要比#define要好,特别是在有指针的场合。...const pStr p2和const long x本质上没有区别,都是对变量进行只读限制,只不过此处变量p2的数据类型是我们自己定义的而不是系统固有类型而已。...不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮。typedef 声明,简称 typedef,为现有类型创建一个新的名字。

84440

#define和typedef的用法与区别及面试问题

typedef和#define的用法与区别 一、typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:...typedef    int       INT; typedef    int       ARRAY[10]; typedef   (int*)   pINT; typedef可以增强程序的可读性...三、typedef与#define的区别 从以上的概念便也能基本清楚,typedef只是为了增加可读性而为标识符另起的新名称(仅仅只是个别名),而#define原本在C中是为了定义常量 ,到了C++,const...有时很容易搞不清楚与typedef两者到底该用哪个好,如#define INT int这样的语句,用typedef一样可以完成,用哪个好呢?...简单来说,记住当const和typedef一起出现时,typedef不会是简单的字符串替换就行。

2.9K10

C语言 | typedef

C语言typedef用新的类型名代替原有的类型名 //指定用Integer为类型名,作用与int相同。 typedef int Integer; //指定用Real为类型名,作用与float相同。...typedef float Real; C语言允许程序设计者用一个简单的名字代替复杂的类型形式 命名一个新的类型名代表结构体类型 typedef struct {     int month;     ...int day;     int year; }Date; 命名一个新的类型名代表数据类型 typedef int Num[100]; //声明Num为整型数组类型名 命名一个新的类型名代表指针类型 typedef...char *String; //声明String为字符指针类型 String p,s[10]; //定义p为字符指针变量,s为字符指针数组 命名一个新的类型名代表指向函数的指针类型 typedef...在C语言中,常把typedef声明的类型名的第1个字母用大写表示,以便与系统提供的标准类型标识符相区别

97100

C语言 | typedef

C语言typedef用新的类型名代替原有的类型名 //指定用Integer为类型名,作用与int相同。 typedef int Integer; //指定用Real为类型名,作用与float相同。...typedef float Real; C语言允许程序设计者用一个简单的名字代替复杂的类型形式 命名一个新的类型名代表结构体类型 typedef struct { int month;...int day; int year; }Date; 命名一个新的类型名代表数据类型 typedef int Num[100]; //声明Num为整型数组类型名 命名一个新的类型名代表指针类型 typedef...char *String; //声明String为字符指针类型 String p,s[10]; //定义p为字符指针变量,s为字符指针数组 命名一个新的类型名代表指向函数的指针类型 typedef...在C语言中,常把typedef声明的类型名的第1个字母用大写表示,以便与系统提供的标准类型标识符相区别

54740

struct和typedef struct

“` typedef声明,简称typedef,为现有类型创建一个新的名字,或称为类型别名,在结构体定义,还有一些数组等地方都大量的用到。...分三块来讲述:   1 首先://注意在C和C++里不同     在C中定义一个结构体类型要用typedef:     typedef struct Student     {     ...的话,又会造成区别:     struct Student     {     int a;     }stu1;//stu1是一个变量     typedef struct Student2...我个人观察编译器(VC6)的理解,这相当于     typedef struct     {     int num;     int age;     }aaa;     typedef...typedef struct和struct的区别:     typedef struct tagMyStruct     {      int iNum;      long lLength

59620
领券