我知道asterix是用於指針的,我現在對指針有所瞭解。但我仍然不知道爲什麼在頭聲明一個變量,當我需要使用一個星號,例如:obj-c中頭部變量聲明中的星號
UINavigationController * navController;
爲什麼不說:
UINavigationController navController;
感謝
我知道asterix是用於指針的,我現在對指針有所瞭解。但我仍然不知道爲什麼在頭聲明一個變量,當我需要使用一個星號,例如:obj-c中頭部變量聲明中的星號
UINavigationController * navController;
爲什麼不說:
UINavigationController navController;
感謝
因爲在你的例子中:
UINavigationController * navController;
navController是指向UINavigationController類型的對象的指針;
而你總是使用Objective-C的對象,當你創建新實例指針工作具有:
[[MyClass alloc] init]
返回指向MyClass類型,即(MyClass的*)
在新創建的對象您正在聲明需要爲對象分配的內存的標頭。您需要使用*
運算符,因爲您只需要爲引用/指向對象的指針聲明內存空間,而不是對象本身的空間。