字串指標初始化,初始化字元指標

2022-02-06 10:51:06 字數 1964 閱讀 7300

1樓:澄壯酆星華

char

*s="china";

等價於char

*s;s="china";

這是兩種賦初值的方法,第一種是在定義的時候賦初值,第二種是先定義,再在以後賦初值,它們的結果都上讓指標s指向首位址,也就是指向了內容的第乙個字母c~~好好看看c語言程式設計那本書~~

2樓:希聲和寡

char *a="china";

等價於char *a;

a="china";

char *a="china";

這個語句的釋義是:

宣告乙個字元指標a,該指標指向常量區字串"china"的首位址而char *a;*a="china";這個是錯誤的,*a標示的是乙個字元值,*a="china";會產生乙個字串資料向致富資料賦值的error

注意區分宣告時的初始化和普通的賦值語句

3樓:似田商堅秉

任何時候,在字串中,編譯器將

\與緊鄰它之後乙個字元連起來解釋,並且只佔乙個char位元組的長度。

\也即樓上所說的轉義符。

你可以試著輸出一行:d:\baidu\http就能體會

4樓:匿名使用者

char*a;*a="china";改為a="china";可以看到a被定義為乙個指標變數,指向字元型資料,注意它只能指向乙個字元變數或其他字元型別資料。

5樓:飄雪在春季

char* a;

a = "china";

6樓:匿名使用者

char* a;

a = "china";

*a表示a指向的乙個字元

7樓:匿名使用者

a="china";

如何建立指向字串變數的指標陣列及初始化???謝謝!!

8樓:八月紅桂花

1. 就像你第2問那樣定義及初始化的。

2.它是指向字串的指標陣列。

你可以執行下:

#include

void main()

;int i;

for(i=0; i<3; i++)

printf("%s\n", str[i]);} 或#include

#include

void main()

;char **p;

for(p=str; p

9樓:瀚柯

1.char *str[3]=;這是指 定義乙個含有3個元素的指標陣列,並對它進行初始化。可能通過*(str[0]+1)的形式來引用hello中的e元素

2.char (*)str[n];這個是指 指向n個陣列元素的一維陣列的指標變數。

你那個不是。

如引用**如下:

#include

#include

main()

;printf("%s,%s,%c",str[0],str[0]+1,*(*(str+2)+1));

system("pause");

}結果為:

hello,ello,o

初始化字元指標

10樓:匿名使用者

int i;

char *p = null;

char *str = "abc";

for (i=0; i<3; i++)

另外這個p指標沒有分配記憶體空間,這是有問題的.

應該可以直接p=str

11樓:俎晨朗

正確程式應該這樣寫

char *p = null;

char *str = "abc";

for (int i=0;i<3:++i)

c關於字元陣列的初始化和賦值問題

只有在定義的同時這樣 a 20 what for 賦值才行,其他不行,這是c語言規定的 要先定義然後再在其他地方賦值的話,就只能乙個乙個元素單獨賦值,不過要是想達到同樣的效果 類似a 20 what for 對於字串陣列,可以用庫函式strcpy 函式賦值,其他的話,你可以自己寫函式給他們賦初值!初...

matlab怎麼初始化

matlab初始化baiinitializing極慢解決方法 主要du是license的問題,一般zhi都是因為環境變數裡面設定dao了lm license file變數值給 其它軟版件。解決方權法 方法一 修改lm license file,在最前面加上 matlab bin win32 lice...

c語言陣列初始化,C語言陣列的初始化表示方法

陣列的編號是從0開始的,所以當i 2時,score 2 實際是第三個數,前面還有score 0 和score 1 兩個數。c語言陣列的初始化表示方法 在c語言中,陣列的初始化有以下幾種方式 1 定義的時候同時初始化 int array 10 2 定義的時候不指定陣列大小,由初始化的陣列元素來確定大小...