*p=&a和p=&a c語言指針初始化這兩種方式的區(qū)別?
c語言指針初始化這兩種方式的區(qū)別?*P=&a表示將a的地址賦給*P的值,這里說明P是指針的指針,*用來取值,在*P之后得到的地址仍然是地址;例如:int**P=null指針的初始化指的是什么?初始化可
c語言指針初始化這兩種方式的區(qū)別?
*P=&a表示將a的地址賦給*P的值,這里說明P是指針的指針,*用來取值,在*P之后得到的地址仍然是地址;例如:int**P=null
指針的初始化指的是什么?
初始化可以由此函數(shù)的用戶完成,也可以由此函數(shù)的編寫者完成。在設(shè)計此函數(shù)時,需要確定指針參數(shù)是在函數(shù)外部初始化還是在函數(shù)內(nèi)部初始化。通常,“函數(shù)的編寫者”和“函數(shù)的用戶”可能是同一個人,但他們扮演著兩個不同的角色。這一點(diǎn)應(yīng)該在函數(shù)描述中明確說明,以便函數(shù)的用戶知道是傳遞未初始化的指針參數(shù)還是傳遞已初始化的指針參數(shù)。就像MSDN文檔中對函數(shù)的描述一樣,什么是參數(shù),什么是返回值,什么是函數(shù),使用函數(shù)時需要注意的問題都寫得很清楚,如果傳遞初始化參數(shù),在調(diào)用該函數(shù)之前必須進(jìn)行類似的初始化操作simplecat*thecat=new simplecat//simplecat*thecat=(simplecat*)malloc(sizeof(simplecat))或simplecat a simplecat*thecat=&ACAT simplecat frisky function two(& frisky)這類似于“or part of”的代碼,省略simplecat*thecat=& ACAT的步驟,在調(diào)用函數(shù)時直接調(diào)用&ACAT,因為返回的參數(shù)是一個地址,可以分配給指針變量,不管變量是否初始化。如果未初始化,則相當(dāng)于初始化;如果已初始化,則相當(dāng)于重新分配