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) 只有在定義的同時這樣 a 20 what for 賦值才行,其他不行,這是c語言規定的 要先定義然後再在其他地方賦值的話,就只能乙個乙個元素單獨賦值,不過要是想達到同樣的效果 類似a 20 what for 對於字串陣列,可以用庫函式strcpy 函式賦值,其他的話,你可以自己寫函式給他們賦初值!初... matlab初始化baiinitializing極慢解決方法 主要du是license的問題,一般zhi都是因為環境變數裡面設定dao了lm license file變數值給 其它軟版件。解決方權法 方法一 修改lm license file,在最前面加上 matlab bin win32 lice... 陣列的編號是從0開始的,所以當i 2時,score 2 實際是第三個數,前面還有score 0 和score 1 兩個數。c語言陣列的初始化表示方法 在c語言中,陣列的初始化有以下幾種方式 1 定義的時候同時初始化 int array 10 2 定義的時候不指定陣列大小,由初始化的陣列元素來確定大小...c關於字元陣列的初始化和賦值問題
matlab怎麼初始化
c語言陣列初始化,C語言陣列的初始化表示方法