Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 编程 > Objective-C > 正文

Objective-C typedef

时间:2014-08-20 21:33 来源:未知 作者:www.51ou.com 阅读:

Objective-C编程语言提供 typedef 关键字,可以用一个新的名字给一个类型。下面是一个例子定义一个术语 BYTE 一个字节的数字: 

typedef unsigned char BYTE;  

这种类型的定义后,可以用作标识符BYTE的缩写unsigned char 类型的,例如:

BYTE  b1, b2;  

按照惯例,大写字母是用于这些定义提醒用户的类型名称确实是一个符号缩写,但可以用小写,如下:

typedef unsigned char byte;  

可以使用typedef 用户定义的数据类型以及赋予一个名字。例如,可以使用与结构 typedef 定义一个新的数据类型,然后使用这些数据类型直接定义结构变量如下:

#import <Foundation/Foundation.h>

typedef struct Books
{
   NSString *title;
   NSString *author;
   NSString *subject;
   int book_id;

} Book;
 
int main( )
{

   Book book;
   book.title = @"Objective-C Programming";
   book.author = @"TutorialsPoint";
   book.subject = @"Programming tutorial";
   book.book_id = 100;
   NSLog( @"Book title : %@\n", book.title);
   NSLog( @"Book author : %@\n", book.author);
   NSLog( @"Book subject : %@\n", book.subject);
   NSLog( @"Book Id : %d\n", book.book_id);

   return 0;
}  

上面的代码编译和执行时,它会产生以下结果:

2013-09-12 12:21:53.745 demo[31183] Book title : Objective-C Programming
2013-09-12 12:21:53.745 demo[31183] Book author : TutorialsPoint
2013-09-12 12:21:53.745 demo[31183] Book subject : Programming tutorial
2013-09-12 12:21:53.745 demo[31183] Book Id : 100
  

typedef 和 #define

#define是一个Objective-C 的指令,它也被用来定义别名为各种数据类型类似 typedef,但有以下差异:

  • typedef类型和#define 可以被用来定义别名值以及符号名,一样可以定义 ONE 为 1,等等。

  • typedef的解释是由编译器在#define语句预处理器处理。

下面是 #define一个最简单的用法:

#import <Foundation/Foundation.h>
 
#define TRUE  1
#define FALSE 0
 
int main( )
{
   NSLog( @"Value of TRUE : %d\n", TRUE);
   NSLog( @"Value of FALSE : %d\n", FALSE);

   return 0;
}  

上面的代码编译和执行时,它会产生以下结果:

2013-09-12 12:23:37.993 demo[5160] Value of TRUE : 1
2013-09-12 12:23:37.994 demo[5160] Value of FALSE : 0  

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《Objective-C typedef》技术文章,《Objective-C typedef》详细使用和说明,有时《Objective-C typedef》可能不完善、敬请谅解!如果《Objective-C typedef》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
推荐内容
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片