intmain(intargc,char*argv[]){charday[15]="abcdefghijklmn";char*strTmp="opqrstuvwxyz";pr" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

[轉]C語言中字符數組和字符串指針分析

系統 2073 0

?這幾天搞Unix上的C程序,里面用到了很多字符數組和字符串指針,我記得在學完C語言后相當一段時間里,對指針這個東西還是模模糊糊,后來工作也沒怎么用到過C,雖然網上這類的文章也有很多,還是決定自己在這做個小總結,也算加深下自己的印象,寫了下面的測試程序:

#include <stdio.h>

int main(int argc, char *argv[])
{

? char day[15] = "abcdefghijklmn";
? char* strTmp = "opqrstuvwxyz";

? printf("&day is %x\n",&day);
? printf("&day[0] is %x\n",&day[0]);
? printf("day is %x\n",day);
??
? printf("\n&strTmp is %x\n",&strTmp);
? printf("&strTmp[0] is %x\n",&strTmp[0]);
? printf("strTmp is %x\n",strTmp);
??
? getchar();?
? return 0;
}

運行后屏幕上得到如下結果:
[轉]C語言中字符數組和字符串指針分析

其實看到結果估計很多東西就好明白了,

??? 先看看前三個輸出也就是關于變量day的,在 char day[15] = "abcdefghijklmn"; 這個語句執行的時候,系統就分配了一段長15的內存,并把這段內存起名為day,里面的值為"abcdefghijklmn",如下圖所示:

??????? 再看程序,第一個輸出,&day,&號是地址運算符,也就是day這個變量的內存地址,很明顯,在最前面,也就是a字符所在字節的地址;
????????對于第二個輸出也就好理解了,&day[0],就是day數組中第一個變量(也就是a)的地址,因此他們兩個是一樣的;
??????? 第三個輸出是day,對于數組變量,可以使用變量名來索引變量中的內容,其實這里的day可以理解成數組變量退化的指針,并且指向數組的開頭,既然把它理解成指針,那么它的值肯定是地址了,所以他的值和上面兩個也一樣。

??? 再看看后面三個輸出,關于字符串指針strTmp,在執行char* strTmp = "opqrstuvwxyz";后,內存的圖示如下:


如圖所示,內存分配了兩段內存,一個名為strTmp,類型是一個字符指針,另外一段是一個字符串常量,且strTmp里面存放著字符常量的首地址,注意這里無法通過strTmp修改這段字符串,因為是常量;于是程序中的后面三個輸出就好理解了;
????
? &strTmp:strTmp這個字符指針的地址
? &strTmp[0]:strTmp所指字符常量第一個字符的地址
? strTmp:strTmp這個字符指針的值,即字符常量的首地址

因此,最后兩個的值是一樣的。
????? 指針可以這樣理解,指針這種類型,和int,char,double等等是一樣的,只是它用來保存地址值的,而int變量保存整數,char變量保存字符,僅此而已,就char型指針或者int指針,本質是一樣的,都是存放的地址,只不過那個地址所里面的變量類型不同而已,還有一種void型指針,就是可以放任何類型變量的地址。

[轉]C語言中字符數組和字符串指針分析


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品国产成人一区二区 | 久久草在线视频国产一 | 日韩视频一区二区三区 | 午夜精品一区二区三区免费视频 | 久久久久久免费免费 | 国产精品a在线观看香蕉 | 国内自拍视频在线看免费观看 | 精品无人区乱码一区二区三区手机 | 日日夜夜操操 | 综合色区 | 99精品国产福利在线观看 | 国产999精品久久久影片官网 | 草草国产成人免费视频 | 九九热视频这里只有精品 | 久久婷婷色香五月综合激情 | 亚洲伊人色一综合网 | 亚洲欧美成人 | 日韩精品一区二区三区 | 成人久久18免费软件 | 性做久久久 | 久久久久国产精品一区 | 日韩精品一区二区三区中文 | 无码一区二区三区曰本A片 欧美综合激情网 | 波多野结衣综合 | 色网站在线免费观看 | 日韩免费精品一级毛片 | 91手机在线观看 | 色网在线 | 性久久久久久久久波多野结衣 | 日韩欧美黄色 | 国产成人综合一区精品 | 精品一区二区免费视频 | 成人免费在线视频观看 | 久草资源在线视频 | 欧美成人福利 | 日本视频免费 | 中文字幕免费在线观看动作大片 | 免费成人在线网站 | 国内精品易阳在线播放国产 | 在线精品亚洲欧美日韩国产 | 日韩免费一区二区 |