cpystr(pa,pb)
printf("string a=%s\nstring b=%s\n",pa,pb)
}
在本例中,程序完成了两项工作:一是把pss指向的源字符串复制到pds所指向的目标字符串中,二是判断所复制的字符是否为`\0',若是则表明源字符串结束,不再循环。否则,pds和pss都加1,指向下一字符。在主函数中,以指针变量pa,pb为实参,分别取得确定值后调用cprstr函数。由于采用的指针变量pa和pss,pb和pds均指向同一字符串,因此在主函数和cprstr函数中均可使用这些字符串。也可以把cprstr函数简化为以下形式:
cprstr(char *pss,char*pds)
{while((*pds++=*pss++)!=`\0')}
即把指针的移动和赋值合并在一个语句中。 进一步分析还可发现`\0'的ASCⅡ码为0,对于while语句只看表达式的值为非0就循环,为0则结束循环,因此也可省去“!=`\0'”这一判断部分,而写为以下形式:
cprstr (char *pss,char *pds)
{while (*pdss++=*pss++)}
表达式的意义可解释为,源字符向目标字符赋值,移动指针,若所赋值为非0则循环,否则结束循环。这样使程序更加简洁。
【例10.30】简化后的程序如下所示。
System.out.println(“我是java的打印”)在Object-C 则如此:
打印一个NSString:
NSString str = @”我是OBject-C数据”
NSLog(@“打印数据了% @”,str)
NSLog的格式如下所示:
%@ 对象
%d, %i 整数
%u 无符整形
%f 浮点/双字
%x, %X 二进制整数
%o 八进制整数
%zu size_t%p 指针
%e 浮点/双字 (科学计算)
%g 浮点/双字
%s C 字符串
%.*s Pascal字符串
%c 字符
%C unicha
r%lld 64位长整数
(long long)%llu 无符64位长整数
%Lf 64位双字
<3>下面说说数组,很常用的数组
//初始化不可变数组,切记初始化后不可以改变的数组
NSArray mArray =[[NSArray alloc] initWithObjects:
@"雨松MOMO",
@"15810463139",
@"xuanyusong@gmail.com",
self,nil]
//可以改变的数组
NSMutableArray nsma = mArray //这里我们直接的赋值;
下面注意的是对数组的遍历,如同java里面一样有一种简单的遍历数组的方法:
遍历方法一:
For(int i = 0i <nsma.counti++ ){
NSString *temp = [nsma objectAtIndex:i]//这里便是拿出来没一个数据
}
遍历方法二:
//objective-c 2.0 引入的快速枚举法 不仅速度快 并且安全性高,推荐使用这种方式来遍历
for (NSString * str in nsma) {
NSLog(@"固定数组 %@", str)
}
NSMutableArray是一个可以改变数据的数组,提供了两种方法:
addobject方法用于向数组中添加元素
//添加数组
- (void)addArray: (NSObject *) str
{
[mListArray addObject:str]
}
removeObject方法用于删除元素
//删除数组
-(void) deleteArray:(NSString *)str
{
[mListArray removeObject:str]
}
replaceObjectAtIndex 方法可以修改数组中的某一个元素
//修改数组中的元素
-(void)changeArray:(int)ID:(NSObject *) str
{
[mListArray replaceObjectAtIndex:ID withObject:str]
}
insertObject方法用于向数组中插入一个元素
//向数组中插入一个元素
-(void)insertArray:(int)ID:(NSObject *) str
{
[mListArray insertObject:str atIndex:ID]
}
//NSMutableArray *mutArr = [NSMutableArray array]//[mutArr addObject:dict]
//
//NSMutableDictionary *dictbbb =[[NSMutableDictionary alloc]init]
//[dictbbb setObject:mutArr forKey:@"person"]
//NSLog(@"dictbbb is %@",dictbbb)
//
//
//NSData *dictData1 = [NSJSONSerialization dataWithJSONObject:dictbbb options:NSJSONWritingPrettyPrinted error:nil]
//NSString *jsonString1= [[NSString alloc]initWithData:dictData1 encoding:NSUTF8StringEncoding]
//
//NSLog(@"jsonbbbb str is %@",jsonString1)
//
//
//
//NSData* xmlData = [jsonString1 dataUsingEncoding:NSUTF8StringEncoding]
//NSMutableArray *mutDict1 = [NSJSONSerialization JSONObjectWithData:xmlData options:(NSJSONReadingMutableLeaves) error:nil]
//
//NSLog(@"mutdicr1 是%@",mutDict1)
NSDictionary *dictaaaaa = [mutDict1 objectForKey:@"name" ]
//NSString *name2 = [perDict objectForKey:@"name"]
//NSLog(@"姓名是:%@",name2)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)