C与OC

C与OC的对比

  • 1.import 与include的区别:

  • import 与 include 一样,是将右边的文件拷贝到当前 import 的位置.

    • Import 的优点: 会自动防止重复拷贝
  • 2.printf和NSLog的区别:

     NSLog会自动换行;
     NSLog在输出内容时会附加一些系统信息;
     NSLog和printf接收的参数不一样.
    
  • 3.OC中的字符串

    • C语言中的字符串不是对象
char *name1 = "lnj";
char name2[] = "lmj";
  • OC中的字符串是一个对象
  • 正是因为OC中的字符串是一个对象, 所以它就具备了很多功能
 NSString *str = @"lk";

 Iphone *p = [Iphone new];
 注意: 输出C语言的字符串使用%s
      输出OC的字符串使用%@, %@就专门用于输出对象类型的
 NSLog(@"content = %@", [p loadMessage]);
如何创建OC字符串
NSString *str = @"lnj";
NSString *str = [NSString stringWithFormat:@"age = %i, height = %f\n", 30, 1.75];
NSLog(@"str = %@", str);
%@是专门用于输出对象类型的.
如何计算字符串的长度
NSString *str = @"你在干什么";
unsigned int len = [str length];
length 计算的长度不是字符串的存储空间,而是字符个数,不包含\0
OC中的局部变量和全局变量
写在函数和大括号外部的变量, 我们称之为全局变量.
作用域: 从定义的那一行开始, 一直到文件末尾
局部变量可以先定义在初始化, 也可以定义的同时初始化;
存储: 静态区
程序一启动就会分配存储空间, 直到程序结束才会释放.


写在函数或者代码块中的变量, 我们称之为局部变量.
作用域: 从定义的那一行开始, 一直到遇到大括号或者return;
局部变量可以先定义再初始化, 也可以定义的同时初始化;
存储 : 栈
存储在栈中的数据有一个特点, 系统会自动释放.
  • 对象都是在堆中创建的,对象中的成员变量自然也是在对象所在的堆区域内创建.

匿名对象:

匿名对象应用场景:
//1.当对象只需要使用一次的时候就可以使用匿名对象
 [[Iphone new] brand];
//2.匿名对象可以作为方法的参数(实参)
Person *p1 = [Person new];
[p1 signal:[Iphone new]];

如何将作为属性的结构体进行初始化?

  • 方法一:强制转换: stu->_birthday = (Date){1986, 1, 15};
  • 方法二:定义一个新的结构体,给d赋值,将d赋值给_birthday:
Date d = {1986, 1, 15};
stu->_birthday = d;
  • 方法三:分别赋值
stu->_birthday.year = 1986;
stu->_birthday.month = 1;
stu->_birthday.day = 15;
【路径规划】(螺旋)基于A星全覆盖路径规划研究(Matlab代码实现)内容概要:本文围绕“基于A星算法的全覆盖路径规划”展开研究,重点介绍了一种结合螺旋搜索策略的A星算法在栅格地图中的路径规划实现方法,并提供了完整的Matlab代码实现。该方法旨在解决移动机器人或无人机在未知或部分已知环境中实现高效、无遗漏的区域全覆盖路径规划问题。文中详细阐述了A星算法的基本原理、启发式函数设计、开放集关闭集管理机制,并融合螺旋遍历策略以提升初始探索效率,确保覆盖完整性。同时,文档提及该研究属于一系列路径规划技术的一部分,涵盖多种智能优化算法其他路径规划方法的融合应用。; 适合人群:具备一定Matlab编程基础,从事机器人、自动化、智能控制及相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于服务机器人、农业无人机、扫地机器人等需要完成区域全覆盖任务的设备路径设计;②用于学习和理解A星算法在实际路径规划中的扩展应用,特别是如何结合特定搜索策略(如螺旋)提升算法性能;③作为科研复现算法对比实验的基础代码参考。; 阅读建议:建议结合Matlab代码逐段理解算法实现细节,重点关注A星算法螺旋策略的切换逻辑条件判断,并可通过修改地图环境、障碍物分布等方式进行仿真实验,进一步掌握算法适应性优化方向。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值