找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3226|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

數(shù)組名是常量不能自加

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:102668 發(fā)表于 2016-1-16 07:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
char p[] = "ssd";
++ p;
為什么會(huì)提示'++' needs l-value  ?

為什么
char *p = "ssd";
++ p;
卻可以呢???
隨隨便便回復(fù)于17日03點(diǎn)25分 
樓主,數(shù)組名跟指針是不能等同的。
tian_007回復(fù)于17日05點(diǎn)51分 
數(shù)組名是右值?慚愧了,剛知道,以前一直以為和指針是一樣的呢
hsxsmz回復(fù)于17日08點(diǎn)00分 
數(shù)組名可以轉(zhuǎn)換為指向其指代實(shí)體的指針,但是它只能被看作一個(gè)指針常量,不能被修改。
pangdudu回復(fù)于17日10點(diǎn)00分 
char p[] = "ssd";
char b[] = "asd";
p =b;

提示 '=' : left operand must be l-value


char *p = "ssd";
char *b = "asd";
p = b;
則通過(guò)

數(shù)組名與指針有什么區(qū)別???
wql0536回復(fù)于17日11點(diǎn)48分 
數(shù)組名是常量
改成char*p不就行了
方卓然回復(fù)于17日13點(diǎn)25分 
一句話 數(shù)組名不能作左值...
小乖鼠回復(fù)于17日14點(diǎn)59分 
數(shù)組名是常量,不能做自增操作
劉泉05回復(fù)于17日16點(diǎn)21分 


有什么不同??具體說(shuō)一下
幸福小托盤回復(fù)于17日17點(diǎn)42分 


有什么不同??具體說(shuō)一下
Afoit1000回復(fù)于17日18點(diǎn)51分 


正解
bjlantian回復(fù)于17日19點(diǎn)54分 
指針名類型 char* const p=..(指向不可變)
wangziqing回復(fù)于17日20點(diǎn)54分 
錯(cuò)了不好意思^_^
#include  
using namespace std;


int main(){
char *pch = "abc";

cout < < *pch < < endl;
++pch;
cout < < *pch < < endl;
}
hsu0115回復(fù)于17日21點(diǎn)48分 

up�。�
cnppri回復(fù)于17日22點(diǎn)31分 
char p[] = "ssd";
這是編譯器事先界定了的,它是一個(gè)常量指針變量,初始化后,無(wú)法再變更。
p++,機(jī)器偵測(cè)到你有意圖變更它,立刻報(bào)警,機(jī)器天生明白。
char p[4];
p = "ssd";
//如此拆分也不行,報(bào)error C2106: '=' : left operand must bel-value

說(shuō)個(gè)題外話,象*p+1、p+1、&p+1這類操作,讓人看了費(fèi)解,但機(jī)器天生知道。
家有碩鼠回復(fù)于17日23點(diǎn)18分 
char p[] = "ssd";
這時(shí)p是數(shù)組名,只有指針才能++,數(shù)組名不能++的。
daisyfeelyg回復(fù)于18日01點(diǎn)55分 
同意
xinyuefff回復(fù)于18日03點(diǎn)36分 

頂又學(xué)到了。
太行晴雪回復(fù)于18日04點(diǎn)13分 



這樓兄弟說(shuō)到點(diǎn)子上了。
指針可以++操作,而數(shù)組名也可以轉(zhuǎn)化為指向第一個(gè)元素的指針,但是為什么數(shù)組名不能++操作呢?
因?yàn)槎x了一個(gè)數(shù)組,那么這個(gè)數(shù)組的地址就是固定的了。如char p[] = "ssd"; 那么p的地址是固定的。相當(dāng)于char*const類型。改變p的指向當(dāng)然錯(cuò)了。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表