1:C语言中所占字节
c语言中的double和long所占字节数由操作系统来决定,32位的占4个字节,64位占8个字节;
指针:
eg:int Array[] = {1,3,4};
int *p = Array;
其中 指针所占字节8个字节
2:NSInteger和int的区别
objective-c里,苹果的官方文档中总是推荐用NSInteger
stackoverflow这帮大神给了答案。
原来在苹果的api实现中,NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型。
定义的代码类似于下:
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
You usually want to use NSInteger when you don't know what kind of processor architecture your code might run on, so you may for some reason want the largest possible int type, which on 32 bit systems is just an int, while on a 64-bit system it's a long.
3:NSInteger和int的使用方法
OC中用int 则在.m源文件中写%d;如果用NSInteger,在.m源文件中写%ld