• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Sivan's blog

            用代碼說話……
            posts - 14, comments - 2, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            指針與字符常量

            Posted on 2010-09-24 16:15 Sivan 閱讀(342) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
            先看一個代碼
             1#include "stdafx.h"
             2#include <iostream>
             3using namespace std;
             4
             5int main()
             6{
             7    char* pch = "aaa";
             8    pch[2= 'b';
             9    cout<<pch<<endl;
            10    return 0;
            11}
            運行這幾行代碼,程序會崩潰。將指針pch指向“aaa”,而“aaa”是個字符串常量,后對pch[2]進行修改,賦值操作不合法,程序崩潰。
            c++中內存分為5個區域:堆、棧、自由存儲區、全局/靜態存儲區和常量存儲區。
            堆、棧不說啦,自由存儲區與堆類似,不過使用malloc分配free釋放,全局/靜態存儲區存儲全局變量和static變量,常量存儲區存放的是常量,不允許修改,“aaa”就存儲在這個位置。
            將代碼改為如下情況:
            char str[] = "aaa";
            char* pch = str;
            pch[
            2= 'b';
            cout
            <<pch<<endl;
            此時“aaa”為棧分配,是數組中的存儲內容,所以可以修改。
            久久精品人人槡人妻人人玩AV| 久久精品中文字幕无码绿巨人| 久久精品国产一区二区| 久久国产成人午夜aⅴ影院| 中文精品久久久久人妻| 久久久久亚洲AV无码专区体验| 丁香狠狠色婷婷久久综合| 国内精品免费久久影院| 热re99久久6国产精品免费| 久久成人国产精品二三区| 亚洲美日韩Av中文字幕无码久久久妻妇| 一本久久精品一区二区| 嫩草影院久久国产精品| 7777精品伊人久久久大香线蕉| 色综合久久久久无码专区| 久久免费视频一区| 91精品国产91久久| 无码人妻久久一区二区三区| 久久97久久97精品免视看| 久久久久99精品成人片直播| 久久高清一级毛片| 亚洲国产精品久久66| 99久久er这里只有精品18| 99精品国产免费久久久久久下载| 18岁日韩内射颜射午夜久久成人| 久久久久国产精品熟女影院| 成人久久免费网站| 国产精品久久新婚兰兰| 久久久受www免费人成| 中文字幕亚洲综合久久2| 亚洲午夜精品久久久久久人妖| 久久综合九色综合网站| 人妻无码αv中文字幕久久琪琪布| 久久久一本精品99久久精品88| 久久伊人影视| 亚洲性久久久影院| 久久久久亚洲爆乳少妇无| 日韩欧美亚洲综合久久影院Ds| 九九热久久免费视频| 欧美久久天天综合香蕉伊| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 |