1樓:匿名使用者
什麼時候都是合法的,不過型別不同的話就需要強制型別轉換
2樓:鄂渚緒風
只能在申明一個指標型別變數的同時給它賦初值,這樣做才是合法的,不然的話就要寫成:p=&f;
3樓:匿名使用者
ls錯誤。
----
首先,f必需是左值表示式,否則&f這個表示式就是非法的。
編譯錯誤的例子:
char* p;
p = &('f'); /*錯誤,'f'不是一個左值,無法作為&的運算元。*/
其次,*p不能是常量。也就是p指向的型別不能是const型別。
編譯錯誤的例子:
char a = 'a';
char f = 'f';
char* const* p;
p = &a;
*p = &f; /*錯誤,p指向char*const型別,即char*指標常量,無法通過賦值修改。*/
最後,&f能夠隱式轉化為和*p相同的型別。
例如,p是一個二級指標,而f是兩次p解引用後的型別:
char a = 'a';
char f = 'f';
char* pa = &a;
char** p = &pa;
*p = &f;
邏輯錯誤,編譯應該至少產生警告的例子1:
char a = 'a';
char f = 'f';
char* pa = &a;
int** p = &pa;
*p = &f;
邏輯錯誤,編譯應該至少產生警告的例子2:
struct s ;
struct s a;
char f = 'f';
struct s* pa = &a;
char** p = &pa;
*p = &f;
====
[原創回答團]
4樓:豬頭或火寶寶
什麼意思,樓主把問題說清楚!!!
求助指標被free之後什麼時候是NULL 還是不可能是NULL
一個指標,除非本身等於null,否則free以後不會等於null。因為free不對指標的值做任何操作,而只是試圖改變指標指向的一片連續的儲存器空間的狀態。如果這片儲存器空間是malloc或其它相容方式 例如posix庫函式strdup 分配過來的,那麼會釋放這片空間,釋放的空間可以之後再次被分配。如...
在英語中字母子音c在什麼時候發音,什麼時候發
這事還是比較規律的.你會發現,在詞頭,c與母音搭配時,其中c和e及c和i一起時,都發s,如celebrate,center,cent cindy,cigar等,而c與a o u搭配時,就都發k,如,cake,canteen courier,college cure,cup.在詞中間的情況較多,不說了...
在英語的什麼情況中,什麼時候用is什麼時候用are什麼時候用
英語中的am,is 和are都是be的變化形式,這三個詞都是 是 的含義,根據不同的主語選用不同的動詞。用法 1 當主語是i時使用am。2 當使用表示複數的主語或使用 you 時則要用are。3 除以上情況外的,如主語是 she he it 或其他第三人稱單數名詞時則用is。示例 i am a te...