//[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)
你那样定义后,不能直接使用,因为未对当前数组变量进行实例化,也就没有进行内存分配这里给你推荐两种方法。1、初始化时设置他的数组大小string[] myarr = new string[2]myarr[0] = "1"myarr[1]="第二个值"2、初始化时设置他的数组大小并赋值string[] myarr = new string[]{"1","2"}3、可以动态改变数组大小的数组List<string>listArr = new List<string>()listArr.add("添加的值")listArr.add("再添加一个值")listArr.add("OK")listArr.RemoveAt(1)//删除索引1的项....//该方法 *** 作数组更加灵活。如果不需要动态 *** 作数组的话,可以不使用该方法。string[] myarr = listArr.ToArray()//将List类型转成string[]类型的数组怎么在数组后面添加数组 ioscpystr(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】简化后的程序如下所示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)