1樓:百厄度劫
char *p="heir";
這句話包含了2層意思,
一是定義乙個指標變數p,即 char *p;
二是為指標變數p賦初值,即 p="heir";實際是將存放字串"heir"的記憶體位址賦給p
因此這句話實際上等價於:
char *p;
p="heir";
2樓:
char *p="heir"; //這個表示定義字元指標變數p,並將存放字串"heir"的首位址賦給p。
3樓:匿名使用者
char *p=「hello」;這條語句是宣告指標變數p和賦值一起完成。也可以分為三條小的語句完成:char *p; char str[5] = 「hello」; p = str;陣列名即陣列元素首位址,所以可以這樣賦值。
另外在宣告時*只是表明p是指標變數,並不是取值運算。
4樓:
你可以這樣理解
char a = "heir";
char *p;
p = a;//或者
p = &a[0];
5樓:匿名使用者
可以理解為,指標p指向字串"heir"的首位址,字串在記憶體中時連續存放的。所以知道首位址就可以了。
關於c語言中關於C語言中和的用法
和 都是邏輯表示式裡常用的,一般用法是 if 表示式1 表示式2 或者 if 表示式1 表示式2 表示 或 滿足其中乙個,整個表示式就為真,就滿足if判定的條件 例如 if 1 0 std cout hello n 輸出為hello 表示 且 if括號內的表示式都為真 才能滿足if判定的條件 才會執...
關於C語言中的小問題,關於C語言中的一個小問題
其實我覺得你說得對,這個程式編的有些問題,你試著先輸出非空格的字元,程式會跳過 if c 這個判斷,然後lastc c後lastc中就存有你之前輸入的字元,你在輸入空格下次lastc c中就會存有空格。如果你先輸入空格,程式就會崩潰,應為lastc未定義,我用的vs2010已經試過了,你可以試試。望...
c語言中關於字元陣列的長度問題,C語言中關於字元陣列的長度問題
r 這是個字元陣列,系統只為它分配了3個位元組的空間,但是strlen只有遇到 0 才會返回 於是它會向後繼續進行,直到有 0 這其實是越界 或許沒有,可能訪問的是q 10 了.你可以這樣 printf s n r 來檢視下列印的資訊。在我的上面 tc 是 3 3 3 9 哎。strlen 是在st...