Типы в объективе-c на iPhone

Как говорится в названии, я хочу спросить об основных типах данных в объективе-c на iPhone. Так есть ли хорошая документация, где это написано? Мне нужен размер, на котором представлена ​​переменная, и диапазон переменной. Итак, в примере: short int – 2 байта – подписан: от -32768 до 32767 и без знака: от 0 до 65535 Это только пример. Поэтому, пожалуйста, если кто-нибудь знает о сайте, просто напишите его здесь. 🙂

Это хороший обзор:

http://reference.jumpingmonkey.org/programming_languages/objective-c/types.html

или запустите этот код:

32-битный процесс:

NSLog(@"Primitive sizes:"); NSLog(@"The size of a char is: %d.", sizeof(char)); NSLog(@"The size of short is: %d.", sizeof(short)); NSLog(@"The size of int is: %d.", sizeof(int)); NSLog(@"The size of long is: %d.", sizeof(long)); NSLog(@"The size of long long is: %d.", sizeof(long long)); NSLog(@"The size of a unsigned char is: %d.", sizeof(unsigned char)); NSLog(@"The size of unsigned short is: %d.", sizeof(unsigned short)); NSLog(@"The size of unsigned int is: %d.", sizeof(unsigned int)); NSLog(@"The size of unsigned long is: %d.", sizeof(unsigned long)); NSLog(@"The size of unsigned long long is: %d.", sizeof(unsigned long long)); NSLog(@"The size of a float is: %d.", sizeof(float)); NSLog(@"The size of a double is %d.", sizeof(double)); NSLog(@"Ranges:"); NSLog(@"CHAR_MIN: %c", CHAR_MIN); NSLog(@"CHAR_MAX: %c", CHAR_MAX); NSLog(@"SHRT_MIN: %hi", SHRT_MIN); // signed short int NSLog(@"SHRT_MAX: %hi", SHRT_MAX); NSLog(@"INT_MIN: %i", INT_MIN); NSLog(@"INT_MAX: %i", INT_MAX); NSLog(@"LONG_MIN: %li", LONG_MIN); // signed long int NSLog(@"LONG_MAX: %li", LONG_MAX); NSLog(@"ULONG_MAX: %lu", ULONG_MAX); // unsigned long int NSLog(@"LLONG_MIN: %lli", LLONG_MIN); // signed long long int NSLog(@"LLONG_MAX: %lli", LLONG_MAX); NSLog(@"ULLONG_MAX: %llu", ULLONG_MAX); // unsigned long long int 

Когда вы запускаете iPhone 3GS (iPod Touch и более старые iPhone должны давать одинаковый результат), вы получаете:

 Primitive sizes: The size of a char is: 1. The size of short is: 2. The size of int is: 4. The size of long is: 4. The size of long long is: 8. The size of a unsigned char is: 1. The size of unsigned short is: 2. The size of unsigned int is: 4. The size of unsigned long is: 4. The size of unsigned long long is: 8. The size of a float is: 4. The size of a double is 8. Ranges: CHAR_MIN: -128 CHAR_MAX: 127 SHRT_MIN: -32768 SHRT_MAX: 32767 INT_MIN: -2147483648 INT_MAX: 2147483647 LONG_MIN: -2147483648 LONG_MAX: 2147483647 ULONG_MAX: 4294967295 LLONG_MIN: -9223372036854775808 LLONG_MAX: 9223372036854775807 ULLONG_MAX: 18446744073709551615 

64-битный процесс:

 The size of a char is: 1. The size of short is: 2. The size of int is: 4. The size of long is: 8. The size of long long is: 8. The size of a unsigned char is: 1. The size of unsigned short is: 2. The size of unsigned int is: 4. The size of unsigned long is: 8. The size of unsigned long long is: 8. The size of a float is: 4. The size of a double is 8. Ranges: CHAR_MIN: -128 CHAR_MAX: 127 SHRT_MIN: -32768 SHRT_MAX: 32767 INT_MIN: -2147483648 INT_MAX: 2147483647 LONG_MIN: -9223372036854775808 LONG_MAX: 9223372036854775807 ULONG_MAX: 18446744073709551615 LLONG_MIN: -9223372036854775808 LLONG_MAX: 9223372036854775807 ULLONG_MAX: 18446744073709551615 

Обратите внимание, что вы также можете использовать типы фиксированной ширины C99 в Objective-C:

 #import  ... int32_t x; // guaranteed to be 32 bits on any platform 

На странице wikipedia есть достойное описание того, что доступно в этом заголовке, если у вас нет копии стандарта C (вы должны, тем не менее, поскольку Objective-C – это всего лишь небольшое расширение C). Вы также можете найти заголовки limits.h и inttypes.h чтобы быть полезными.

Обновление для новой 64-битной арки

 Ranges: CHAR_MIN: -128 CHAR_MAX: 127 SHRT_MIN: -32768 SHRT_MAX: 32767 INT_MIN: -2147483648 INT_MAX: 2147483647 LONG_MIN: -9223372036854775808 LONG_MAX: 9223372036854775807 ULONG_MAX: 18446744073709551615 LLONG_MIN: -9223372036854775808 LLONG_MAX: 9223372036854775807 ULLONG_MAX: 18446744073709551615 
  • Как прокрутить UITableView в определенную позицию
  • Можете ли вы настраивать анимацию для встраиваемых ячеек UITableView?
  • Изучение основ UIScrollView
  • UITextView с подсветкой синтаксиса
  • Приложение iOS: как очистить уведомления?
  • Могу ли я передать блок как @selector с Objective-C?
  • Центральное содержимое UIScrollView при меньшем
  • Обнаружение интернет-соединения iPhone SDK
  • Эквивалент карты NSArray
  • Работает ли UIGestureRecognizer на UIWebView?
  • Представление controllerа модального вида сразу после отклонения другого
  • Давайте будем гением компьютера.