Object-c程序整体语法结构

Object-c程序整体语法结构

与C 语言兼容的地方:
预处理:
     #define 语句和c 一样
     #运算符: #define str(x) #x
     表示在调用该宏时,预处理程序根据宏参数创建C 风格的常量字符串。
     例如:str("hello")将产生"\"hello"\"
     ##运算符:
    表示用于把两个标记连在一起
     #import 语句相当于#include 语句,但是#import 可自动防止同一个文件被导入多次。
     #条件编译语句(#ifdef 、#endif 、#else 、#ifndef)和C 一样
     #undef 语句消除特定名称的定义
     其他基本的C 语言特性:
     数组、函数、指针、结构、联合的用法和C 一样。
     Compound Literal 是包含在括号之内的类型名称,之后是一个初始化列表。
     例如如果intPtr 为int * 类型:
     intPtr = (int[100]){[0] = 1, [50] = 50, [99] = 99};
     如果数组大小没有说明,则有初始化列表确定。
     其他如循环语句(do while、while、for)、条件语句(if 语句(if-else、复合判断条件等)、switch 语句)、
     Boolean(YES NO)、条件运算符、goto 语句、空语句、逗号表达式、sizeof 运算符、命令行参数、位操作都和C 一样。


     程序的头文件和源文件的扩展名分别为.h 和.m。注释语法和C 一样。Object_C 中的nil 相当于NULL。Object_C 中的YES 和NO 相当于true 和false。这里再讲解一下YES 和NO:Object-c 提供了BOOL 类型,但这个BOOL 类型和C++里的并不一样:在C++里一切非0 值的东西都为true,而为0 值的为false。但是Object-c 里1 为true 并被宏定义为YES,0 为false 并被宏定义为NO。所以,如果读者写下面的代码,则肯定是错误的:

BOOL areIntsDifferent_faulty(int thing1,int thing2)
{
return (thing1-thing2);
}
if(areIntsDifferent_faulty(23,5) == YES)
{
}

  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值