Types in objective-c on iPhone

As the title says I want to ask about the fundamental data types in objective-c on iPhone.
So are there any good documentation where this is written?
I need the size on which the variable is represented and the range of the variable.
So in example:
short int – 2 bytes – signed: -32768 to 32767 and unsigned: 0 to 65535
This is only an example.
So please if anybody knows about a site just write it here. 🙂

  • having issue with scrolling image with gyroscope
  • NSString is empty
  • What's the meaning of view.bounds.origin?
  • Attaching another view to the same “files owner”
  • Is it possible determine if SKStore​Review​Controller has been presented.
  • How to resize UILabels to fit content?
  • 3 Solutions Collect From Internet About “Types in objective-c on iPhone”

    This is a good overview:

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

    or run this code:

    32 bit process:

      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
    

    When run on an iPhone 3GS (iPod Touch and older iPhones should yield the same result) you get:

    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 bit process:

    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
    

    Note that you can also use the C99 fixed-width types perfectly well in Objective-C:

    #import <stdint.h>
    ...
    int32_t x; // guaranteed to be 32 bits on any platform
    

    The wikipedia page has a decent description of what’s available in this header if you don’t have a copy of the C standard (you should, though, since Objective-C is just a tiny extension of C). You may also find the headers limits.h and inttypes.h to be useful.

    Update for the new 64bit arch

    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