12月17号 OC语言准备

#include 和 #import 的区别

#include完成头文件的导入,可能导致头文件的相互作用和函数变量的重复定义

为了解决这个问题  我们必须这样做

#ifndef Student_h

#define Student_h

//方法的声明

//变量的声明

#endif

#import不仅能完成头文件的引入,并且防止头文件之间的相互引用


printf 和 NSLog的区别

//输出

printf(“hello”);

NSLog(@“hello”);

区别:1.printf没有自动换行  NSLog自动换行

   2.printf输出地是普通字符串  NSLog输出地是字符串对象

   3.printf只能输出C语言的基本数据类型(int  float double long char),NSLog可以输出对象

         NSString *name = @"pxd";

         NSLog(@"%@", name);

        

         NSArray *array = @[@"pxd", @"2"];

         NSLog(@"%@", array);


符号含义

@  在OC中一般表示一个对象  @"Hello"  @1

  也通常用于OC的一些关键字 @interface  @end  @public  @private

  %@表示输出一个对象类型

*

在C语言中  *表示指针变量  或者是取某个地址里面的值,

在OC中只需要明白在定义一个OC的对象类型前面添加一个*就可以了


@autoreleasepool自动释放池

当程序运行过程中,会不断地分配内存空间给一些对象。如果说这个对象被autorelease修饰,那么这个对象就会被立刻扔到自动释放池里面,系统会每隔一段时间去释放池里面判断对象的生命周期是否结束,如果结束,那么系统自动地将这个对象的内存释放,当程序退出,系统会将释放池里面的所有对象释放。

 

原文地址:https://www.cnblogs.com/hmzxwky/p/5054995.html