1樓:匿名使用者
不可以,陣列名字相當於一個const指標,不能再賦值了
2樓:匿名使用者
不可以,c/c++中 陣列名雖然形同一個指標 但是是常值 是不可以進行賦值操作的,同理 也不可以進行++ -- += -= 操作,希望可以幫助到你
3樓:匿名使用者
可以,不過上面的例子里長度會不同,編譯會出現警告(warning)。
4樓:我是it農民工
不行,陣列名錶示的是陣列的首地址,是常量,常量是不能賦值的;反過來,指標是變數,可以將陣列名賦給指標。
c語言裡面為什麼不能把指標賦給陣列名?
5樓:匿名使用者
有兩種情況。。
1、char *p = "123"; char s[4];
s = p;
這種情況是不合法的。。此時的陣列名雖然也是指標,但應該看成指標常量,是不能修改的。。
2、void fun(char a){}
void main()
陣列作為函式引數的時候,是可以把指標變數賦值給它的,這時陣列名就可以看作一般的指標變數了。。
簡單的說就是這樣。。
6樓:匿名使用者
陣列名是常量,也就是常指標。給常數賦值自然是錯誤的。
7樓:匿名使用者
他是個常指標,是個常量,不能賦值的
c語言中二維陣列名能否直接賦給指標變數
8樓:匿名使用者
二維陣列的指標與指標的指標是不一樣的。
所以int **ppr;
int fool[2][3];
ppr = fool;
這樣是不行的。
二維數回組的指標必須
答限定第一維的大小。
所以:int (*ppr)[3];
ppr = fool;
這樣才可以。
9樓:匿名使用者
可以,但所宣告的指標型別是指向指標的指標如:
int a[3][3];
int** array_ptr=a;
10樓:匿名使用者
可以,二維陣列名本身就是表示一個陣列的首地址。
11樓:手機使用者
可以,陣列名是陣列首元素的地址
12樓:孓圊
可以,例如a,*p=a
c語言空指標野指標通用指標,C語言 空指標
野指標就是不知道指向 或者說不知道指向的記憶體是否可以使用,一般都是剛剛宣告但沒有初始化的指標。空指標不是指向常數0,只指向地址0,即null,其實換句話說,指標的本質就是地址嘛,空指標就是指標本身的值 地址 為0 空指標的作用是防止野指標的出現,因為我們不能知道野指標到底指向 所以我們也無法判斷一...
c語言行指標和列指標,C語言行指標和列指標
在任何時候 抄都不能定址,它是用bai來取地址的.p i 在任du何時候zhi 都等價dao於 p i p i j 其中p是int x 型別的 在任何時候都等價於 i x j x是一個變數.int a 10 20 這裡x 20 int a 20 10 這裡x 10 c語言沒有什麼行指標,列指標.一維...
C語言指標
正如您所說 a是一個常量,常量是不能修改的變數。不可以修改,不代表不可以引用呀,a i 只是借用a的值 陣列的首地址 來訪問其他成員,實際上並沒有改變a的值。但是換成a 執行之後a的值就改變了,被修改了,編譯當然通不過啦。這道題中的a是陣列的首地址,要是改變a的值,那陣列不是也改變了嗎?所以,一定是...