c語言數組賦值給指針
A. c語言指針賦值的問題(關於數組的賦值)
指針只是申明了而沒有初始化。
p是指針,*p是取p指向的地址的內容。
你可以這樣寫:
char
c
=
0;
char
*p
=
&c;
//初始化
*p
=
s[0];
也可以這樣寫:
char
*p
=
&s[0];//初始化
或者
char
*p
=
new
char(s[0]);//分配內存,初始化
delete
p;
也可以這樣寫:
char
s[0];
char
*p
=
s;//p指向s數組
B. c語言 指針如何賦值
指針的賦值
int
*p;
int
a;
int
b[1];
p
=
&a;
p
=
b;
指針的賦值,「=」的左操作數可以是*p,也可以是p。
當「=」的左操作數是*p時,改變的是p所指向的地址存放的數據;
當「=」的左操作數是p時,改變的是p所指向的地址。
數組的變數名b表示該數組的首地址,因此p=b;也是正確的.
同類型的指針賦值:
int
val1
=
18,val2
=
19;
int
*p1,*p2;
p1
=
&val1;
p2
=
&val2;
p1
=
p2;
//注意啦,p1指向了val2,而沒有指向val1
C. C語言二維數組的地址為什麼 不可以賦值給指針變數
二維數組的數組名和一維數組的數組名不一樣。
一維數組名a表示其首地址,指針類型是(int *)。
二維數組名d表示其行指針,指針類型是(int (*)[7])。
所以你要定義指針去用二維數組名賦值,需要定義指針int (*k)[7];不是int *k。
或者你把二維數組當成一維數組來看(二維內部地址是連續的,和一維一樣),這樣int *k;k=&d[0][0];之後通過k++遍歷二維數組所有值。
D. C語言 如何給字元指針數組賦值
字元指針數組的賦值和普通數組的賦值是一樣的,只不過字元指針數組里的元素是指針。
以下是字元指針數組賦值的示例:
char*pChar[5];
charstr1[]="First";
charstr2[]="Second";
charstr3[]="Third";
charstr4[]="Fourth";
charstr5[]="Fifth";
pChar[0]=str1;
pChar[1]=str2;
pChar[2]=str3;
pChar[3]=str4;
pChar[4]=str5;
for(inti=0;i<5;i++)
{
printf("pChar[%d]=%s ",i,pChar[i]);
}
E. C語言可以把指針和數組名之間相互賦值嗎
不可以,C/C++中 數組名雖然形同一個指針 但是是常值 是不可以進行賦值操作的,同理 也不可以進行++ -- += -= 操作,希望可以幫助到你
F. c語言中將一個數組的值賦給另外一個數組,好像要用指針來賦值
錯誤的,不能用賦值語句將一個字元串常量直接給一個字元數組賦值。
chars[20];
charss[]="hello";
s=ss;錯誤原因是:是您不能使用賦值語句將一個字元數組直接賦值給一個字元串數組,也就是說,必須使用strcpy()函數來實現一個字元串的副本(在c語言中,但是在c++的string類中,上面的賦值是正確的)。
因為賦值字元「=」右邊的表達式也可以是賦值表達式,下面的形式變數是=(變數=表達式);這是真的,所以它是嵌套的。展開後的一般形式為:variable=variable=…=表達式;例如:a=b=c=d=e=5;根據賦值運算符的正確嚙合,其有效等價為:e=5;D=e;C=d.B=C.A=B;
Chara[]="toyou";正確的理由:因為當你聲明一個數組變數時,你只是為它騰出空間並初始化它,這是c語法。
G. C語言可以用指針數組賦值給數組指針嗎
我這里有C++環境,幫你試了一下不行(當然,也有變相的方法,就是將數組指針的首元素地址給指針數組中的一個指針),估計C差不多。
情況參考圖:
二者的類型系統認為是不相等的。
H. C語言:如何將字元串數組賦值給一個字元串指針或數組
直接在一個字元串裡面按位賦值就可以了。像二樓說的一樣。
因為你原字元串肯定是大於等於新字元串的,所以定一個變數檢查原字元串的位置,定另一個變數檢查新字元串的位置。那麼第一個變數肯定是大於等於第二個變數的。這樣可以把值從第一個變數的地方賦值到第二個變數的位置即可。
I. C語言如何給指針數組動態賦值
可以試試再創建一個char類型的二維數組,如char
temp[16][16],然後分別把temp[0
...
15]的每一個元素temp[...][0...14]賦上'a'
+
隨機數值(0
~
25的)。再把temp[...][15]賦值為'\0'。最後把str[0...15]分別指向temp[0...15]
J. c語言求問數組名可以賦值給指針變數嗎 如char ch[]="xbxbbxbx",*p; pc=c
可以的,數組名就是數組第一個元素的指針,所以可以賦值給相同類型的指針變數,此時,數組名和這個指針都指向這個數組的開頭。