• <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>
            posts - 25, comments - 7, trackbacks - 0, articles - 0

            今天在linux做幾個進程通信的實驗老出錯,搞了半天原來字符輸入輸出引起的錯誤
            注意:
            在C語言中print函數可以通過指針來訪問 字符串

            例如如下的代碼:
            #include <stdio.h>

            void  main(void)
            {
             int i;
             char *a="hello";
             
              printf("%s\n",a);
            }

            在這段代碼中指針a 指向的是"hello"這個字符串(我的理解是實際指向的是一個 "hello\0"字符串,因為系統自動為字符串常量加一個'\0'表示字符串結束

            例如如下的代碼:

            char a[5]={"hello"};  

            系統會報錯,這是為什么呢???
            答案是在存儲字符串常量時 系統自動給字符串末尾加了一個'\0'
            因此這個時候數組長度不夠當然會報錯了
            應該如下定義和賦值:

            char a[6]={"hello"}; 


            還有一個未解決的問題是:
            通過 
            char *a="hello";
            語句之后 是不是*a='h' ,*(a+1)='e'......以此類推
            我在VC上實驗 情況到是這樣的

            明天在好好看下 C語言中的字符串那章
            以前學的時候就沒怎么看 因為關于字符和字符串操作的函數實在是太多了
            數組和指針也是也它有很大的關系

            一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 欧美黑人激情性久久| 亚洲第一永久AV网站久久精品男人的天堂AV| 久久婷婷人人澡人人| 亚洲精品美女久久久久99| 7777久久亚洲中文字幕| 久久国产精品免费| 三上悠亚久久精品| 很黄很污的网站久久mimi色 | 久久影院亚洲一区| 国产午夜久久影院| 伊人久久大香线蕉综合Av| 久久九九亚洲精品| 亚洲精品美女久久久久99| 狠狠色综合久久久久尤物| 久久夜色精品国产欧美乱| 伊人久久大香线蕉无码麻豆| 久久精品人人做人人爽电影| 无码久久精品国产亚洲Av影片| 久久99精品国产99久久6| 99国产精品久久久久久久成人热| 久久99这里只有精品国产| 国产激情久久久久影院老熟女免费| 中文字幕热久久久久久久| 色天使久久综合网天天| 久久精品国产精品亚洲人人| 精品久久久久久综合日本| 中文精品久久久久人妻不卡| 人人妻久久人人澡人人爽人人精品 | 蜜臀av性久久久久蜜臀aⅴ| 尹人香蕉久久99天天拍| 青春久久| 狠狠色婷婷久久综合频道日韩 | 99久久夜色精品国产网站| 国产精品乱码久久久久久软件| 看全色黄大色大片免费久久久| 久久久无码精品午夜| 一本色综合久久| 久久精品www人人爽人人| 精品久久久久久成人AV| 91精品国产综合久久精品|