• <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>
            穩定盈利的期貨交易方法-量化趨勢交易

            alantop -專業量化投資者

            愛好:量化投資,逆向工程,滲透
            隨筆 - 595, 文章 - 0, 評論 - 921, 引用 - 0
            數據加載中……

            指針數組

            有如下定義:
            struct UT_TEST_STRUCT *pTo[2][MAX_NUM];
              請分析這個定義的意義,并嘗試說明這樣的定義可能有哪些好處?
              答案與分析:
              前面我們談了數組指針,現在又提到了指針數組,兩者形式很相似,那么,如何區分兩者的定義呢?分析如下:
              數組指針是:指向數組的指針,比如 int (*pA)[5]。
              指針數組是:指針構成的數組,比如int *pA[5]。
              至于上述指針數組的好處,大致有如下兩個很普遍的原因:
              a)、各個指針內容可以按需要動態生成,避免了空間浪費。
              b)、各個指針呈數組形式排列,索引起來非常方便。
              在實際編程中,選擇使用指針數組大多都是想要獲得如上兩個好處。
            問題:指向指針的指針
              在做一個文本處理程序的時候,有這樣一個問題:什么樣的數據結構適合于按行存儲文本?
              答案與分析:
              首先,我們來分析文本的特點,文本的主要特征是具有很強的動態性,一行文本的字符個數或多或少不確定,整個文本所擁有的文本行數也是不確定的。這樣的特征決定了用固定的二維數組存放文本行必然限制多多,缺乏靈活性。這種場合,使用指向指針的指針有很大的優越性。
              現實中我們嘗試用動態二維數組(本質就是指向指針的指針)來解決此問題:
              圖示是一個指針數組。所謂動態性指橫向(對應每行文本的字符個數)和縱向(對應整個文本的行數)兩個方向都可以變化。
              就橫向而言,因為指針的靈活性,它可以指向隨意大小的字符數組,實現了橫向動態性。
              就豎向而言,可以動態生成及擴展需要的指針數組的大小。
              下面的代碼演示了這種動態數組的用途:
            // 用于從文件中讀取以 '\0'結尾的字符串的函數
            extern char *getline(FILE *pFile);
            FILE *pFile;
            char **ppText = NULL; // 二維動態數組指針
            char *pCurrText = NULL; // 指向當前輸入字符串的指針
            ULONG ulCurrLines = 0;
            ULONG ulAllocedLines = 0;

            while (p = getline(pFile))
            {
             if (ulCurrLines >= ulAllocedLines)
             {
              // * 當前豎向空間已經不夠了,通過realloc對其進行擴展。
             ulAllocedLines += 50; // 每次擴展50行。
              ppText = realloc (ppText, ulAllocedLines * (char *));
              if (NULL == ppText)
              {
               return; // 內存分配失敗,返回
              }
             }
             ppText[ulCurrLines++] = p; // 橫向“擴展”,指向不定長字符串
            }

            posted on 2006-05-29 23:31 AlanTop 閱讀(419) 評論(0)  編輯 收藏 引用 所屬分類: C++

            久久国产精品一区二区| 久久国产福利免费| 久久www免费人成看片| 伊人久久综合无码成人网| 国产精品女同久久久久电影院| 久久精品国产精品亚洲精品| 香蕉久久影院| 国产韩国精品一区二区三区久久| yellow中文字幕久久网| 欧美精品九九99久久在观看| 国产精品久久国产精麻豆99网站| 久久精品国产亚洲一区二区三区| 久久久久se色偷偷亚洲精品av| 国产精品久久久久9999高清| 午夜精品久久影院蜜桃| 免费观看成人久久网免费观看| 久久久久99这里有精品10| 久久伊人精品青青草原高清| 精品无码久久久久国产动漫3d| 久久久中文字幕| 久久精品国产亚洲av水果派| 一本色道久久综合狠狠躁篇| 国产精品久久久99| 亚洲av日韩精品久久久久久a| 久久精品国产一区二区| 国产精品久久久久乳精品爆| 久久久精品人妻一区二区三区四| 久久人人添人人爽添人人片牛牛| 成人a毛片久久免费播放| 9久久9久久精品| 97久久久久人妻精品专区| 中文字幕久久精品无码| 久久99热这里只有精品66| 美女久久久久久| 久久无码国产| 久久综合视频网| 日韩人妻无码一区二区三区久久99| 国产99久久九九精品无码| 久久综合九色综合精品| 久久久久久综合一区中文字幕| 青青青国产精品国产精品久久久久 |