1、新建一个头文件,如下代码:
#ifndef Header_h
#define Header_h
struct MyStruce{
char *name;//(指针形式)
char *address;
CGFloat age;
};
typedef struct MyStruce MyStruce;
CG_INLINE MyStruce
MyStruceMake(char *name, char *address, CGFloat age)
{
MyStruce myStruce;
myStruce.name = name;
myStruce.address = address;
myStruce.age = age;
return myStruce;
}
#endif /* Header_h */
2、使用
MyStruce myStruce = {"name","address",12};
NSString *name = [NSString stringWithFormat:@"%s",myStruce.name];
NSLog(@"%s %@",myStruce.name,name);
MyStruce struce = MyStruceMake("name", "address", 123);
//结构体转换成对象
NSValue *value = [NSValue valueWithBytes:&struce objCType:@encode(MyStruce)];
NSMutableArray *array = [NSMutableArray array];
[array addObject:value];
MyStruce struceBack;
[array[0] getValue:&struceBack];
NSLog(@"struceBack.name = %s",struceBack.name);
3、另附(NSString与char的转换方法):
NSString *string_content = @"sssssss";
const char *char_content = [string_content cStringUsingEncoding:NSASCIIStringEncoding];
const char *chars = [string_content cStringUsingEncoding:NSASCIIStringEncoding];
NSLog(@"%s",char_content);
string_content = [[NSString alloc] initWithCString:char_content encoding:NSASCIIStringEncoding];
NSString *string =[[NSString alloc] initWithCString:chars encoding:NSASCIIStringEncoding];
NSLog(@"%@",string_content);