A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liu01230 中级黑马   /  2015-5-12 21:11  /  2221 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

OC中NSString是什么,它和C语言中的char *有什么区别?

19 个回复

倒序浏览
NSString 是一个类  可以创建字符串对象
char *  是一个 字符型指针
回复 使用道具 举报
把字符数组当成常量来处理.
回复 使用道具 举报
支持thesky的解释
回复 使用道具 举报
Theshy 发表于 2015-5-12 22:35
NSString 是一个类  可以创建字符串对象
char *  是一个 字符型指针

是不是跟java中的String类一样的?
回复 使用道具 举报
cui0wei0 发表于 2015-5-12 22:40
把字符数组当成常量来处理.

当成常量?
回复 使用道具 举报

C语言中字符数组是可变的, string类型是字符串常量, 可读不可写.
回复 使用道具 举报
都是创建字符串,NSString创建的可以在其他创建的或输出的直接调用!char 不行~~~
回复 使用道具 举报
cogddo 中级黑马 2015-5-18 11:11:38
9#
跟java中的String类似,都是对字符串做的封装,然后提供了一些常用的字符串的操作方法。要是每次操作 char *多繁琐的操作,多大的工作量,,而且实际工作中,字符串操作和 文件IO是几乎每时每刻都是使用,操作。所以你懂得。
回复 使用道具 举报
都可以存放字符串,不过本质不同
回复 使用道具 举报
NSString *是OC中字符串的类型,
NSString *str=[[[NSString alloc]init]autorelease]; //动态的 字符串的空间分配和初始化
NSString *str1=@"mrj"; //直接字符串
而char *是c语言中的,如:
char *a[]="mrj"; //定义一个字符串数组

NSString * 和 char *的使用方法是差不多的
回复 使用道具 举报 1 0
NSString是放字符串  char中只能放字符
回复 使用道具 举报
学习学习!
回复 使用道具 举报
NSString 是一个类
回复 使用道具 举报
1.
NSString *是OC中字符串的类型,
  1. NSString *str = @"itcast"; // oc 字符串
复制代码

而char *是c语言中的利用指针创建字符串,特点:字符串其实是一个常量字符串,里面的字符不可以修改
  1. char *name2 = "imac"; // *name2指向"imac"的首字符也就是'i'
复制代码


2.要说两者的区别,从根本上讲应该是面向对象和面向过程的区别。
回复 使用道具 举报
NSString创建的是字符串对象
回复 使用道具 举报
学习了学习了

回复 使用道具 举报
围观学习啦,加油
回复 使用道具 举报
学习学习!
回复 使用道具 举报
楼上大神们说的很好, 学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马