title: Why do not use pointer variable
body: <p>I am a completely newbie in iOS app development.</p>
  
  <p>I am following a tutorial, which has the following code snippet in the <strong>BIDAppDelegate.m</strong></p>
  
  <pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {
      self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
      // Override point for customization after application launch.
      self.switchViewController = [[BIDSwitchViewController alloc]
                                   initWithNibName:@"SwitchView" bundle:nil];
  
  
      UIView *switchView = self.switchViewController.view;
  
       /**** WHY here do not use pointer variable? ****/
      CGRect switchViewFrame = switchView.frame; 
  
      switchViewFrame.origin.y+=[UIApplication sharedApplication].statusBarFrame.size.height;
      switchView.frame = switchViewFrame;
      self.window.rootViewController=self.switchViewController;
      ...
      ...
      return YES;
      }
  </code></pre>
  
  <p>I understand what does the above code do, generally, when app starts, it loads the view of a root controller(<code>switchViewController</code>) &amp; make some view adjustment.   </p>
  
  <p>My question is, in the code why <code>CGRect switchViewFrame = switchView.frame;</code> does not use pointer variable like this way: <code>CGRect *switchViewFrame = switchView.frame;</code> ?</p>
  
  <p><strong>===============Update==================</strong></p>
  
  <p>Now, I realize the reason is that <code>CGRect</code> is a structure, not a objective-c class. 
  then, Can I re-define the line of code to: </p>
  
  <pre><code>struct CGRect switchViewFrame, *sViewFrame; 
  sViewFrame = switchView.frame; 
  </code></pre>
  
  <p>Is above code identical to <code>CGRect switchViewFrame = switchView.frame;</code> ?</p>