国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
c語(yǔ)言中的字符類型指針賦值字符串常量
 http://blog.csdn.net/sanyweifangqin/article/details/6953867
2011

char *p = “hello”;

上邊的表達(dá)式為什么可以,而把p換成數(shù)組,然后再賦值就不行了

解釋:

字符串常量”hello”出現(xiàn)在一個(gè)表達(dá)式中時(shí),表達(dá)式使用的值就是這些字符所存儲(chǔ)的地址,而不是這些字符本身。

     所以,可以把字符串賦值給指向字符的指針p,而不能把字符串賦值給一個(gè)字符數(shù)組。

 

char a[10] = “hello”; //這樣可以,這種情況是c語(yǔ)言初始化所支持的

如果寫(xiě)成char a[10]

然后 a = “hello” 這樣就錯(cuò)誤了。 

 

同樣是a數(shù)組,char a[10] = “hello”;這種是數(shù)組的初始化,和a[0] = ‘h’ a[1] = ‘e’…是一個(gè)道理

但是換成char a [10]

然后a = “hello”就不行了 “hello”賦值的值是一個(gè)地址,而a雖然也有地址,但是這與指針是不一樣的,指針的值是地址,而數(shù)組的值不是地址。

 

代碼測(cè)試

#include <stdio.h>

 

int main()

{

       char *p = "hello";

       printf("%s",p);

       char a[10];

       a = "hello";

       return 0;

}

error C2440: '=' : cannot convert from 'char [6]' to 'char [10]'

        There is no context in which this conversion is possible

 

看到這樣的錯(cuò)誤提示,你是否會(huì)想到把char a[10]改成char a[6]呢

試一下,

error C2106: '=' : left operand must be l-value

這就和上邊的分析同樣的道理了,右邊的是一個(gè)地址,而左邊的是一個(gè)值

 

繼續(xù)擴(kuò)展問(wèn)題:

在使用指針的時(shí)候,指針可以自增,而數(shù)組不能自增

是因?yàn)閍是個(gè)常量,也就是說(shuō)在聲明一個(gè)指針時(shí),編譯器只給指針本身保留內(nèi)存空間,而沒(méi)有為指針?lè)峙鋬?nèi)存空間。而數(shù)組就不同了,編譯器給數(shù)組分配了空間,數(shù)組a的地址就是一個(gè)常量了,讓常量自增這肯定是不行的

 

繼續(xù)擴(kuò)展:

      在指針自增的時(shí)候,編譯器會(huì)自動(dòng)識(shí)別類型,比如指針是指向int型的,想獲取下一個(gè)的地址時(shí),指針直接p++就行了,不要多此一舉的p+4了

      特別需要注意的是,在void指針使用的時(shí)候,不能使用指針運(yùn)算,應(yīng)為void型編譯器不能識(shí)別類型的長(zhǎng)度(即指針?biāo)笇?duì)象的體積),p++這樣就是不合法的,即不能進(jìn)行數(shù)學(xué)運(yùn)算,也不能使用*取值操作,想使用必須轉(zhuǎn)換為其它的類型

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C語(yǔ)言筆記
“C/C 中char* 和 char「」區(qū)別
字符數(shù)組,字符指針,Sizeof總結(jié)(轉(zhuǎn)載) - 小團(tuán)的日志 - 網(wǎng)易博客
深入 char * ,char ** ,char a[ ] ,char *a[] 內(nèi)核
字符指針、字符數(shù)組用法大總結(jié)(字符串處理)
C語(yǔ)言中字符串?dāng)?shù)組與字符指針數(shù)組有什么區(qū)別?怎么用?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服