c與c 中輸出字元指標和字串指標的問題

2021-10-06 18:03:57 字數 1063 閱讀 8268

首先搞清楚在c語言中沒有字串的型別,所以對字串操作,有兩種形式:可以用字元指標,或者字串陣列(這裡的指標變數c,系統會為其重新分配記憶體。

c程式示例:

1  #include

23 int main()

4 ;7   char *c=&b[1];

89    printf("%c\n",*a);

10   printf("%s\n",a);

11   printf("%s\n",c);

12   printf("%s\n",b);

13   printf("%c\n",*c);

14  return 0;

15 }

執行效果如下:

[lm@lmslinux ~]$ ./cp

hhello

inux

linux

i其中解引用a時,輸出指標指向的第乙個字元 「h」,而printf(「%s\n」,a)時因為規定了輸出字串的格式,所以不會輸出c的位址,而是「hello」這個字串。 printf("%d\n",a)時則輸出十進位制的c指向的位址。

c++程式示例:

1 #include

2 #include

3 #include

4 using namespace std;

56 int main()

7 {8     string s ="string";

9     string *p=&s;

10     char * c="hello";

11     cout<<*c《執行結果:[lm@lmslinux ~]$ ./test

hhello

string

string

0x7fff97664730

另乙個博主:

1. 定義和宣告使用的是同一塊空間

2. 指標大小是4個位元組,陣列大小不一定

3. 指標和陣列不一樣

補充:類例項化時,用陣列宣告多個類物件;

classname *p=new classname [5];

p[2].xx();

輸出字串

5.連線字串 半形句號 是字串連線符,可以把兩個字串連線成乙個字串。例如7 5 echo str.url 技巧 我們可以使用字串連線符累加字串。例如7 6 第一句我們給 str賦值,str表示字串 php中文社群位址是 第二句表示在 str的值上累加字串 www.phpnet.cn 所以,str最後...

C 中分割字串輸出字元陣列

1 用字串分隔 using system.text.regularexpressions string str aaajsbbbjsccc string sarray regex.split str,js regexoptions.ignorecase foreach string i in sar...

使用指標的指標輸出字串

功能 使用指標的指標輸出字串 描述 使用指標的指標輸出字串。首先要使用指標陣列建立乙個字串陣列,然後定義指向指標的指標,使其指向字串陣列,並使用其輸出陣列的字串 char p 這裡指向指標的指標,表示指標變數 p 是指向乙個指標變數。p 就表示 p 指向另外乙個指標變數,即乙個位址。include ...