<big id="a5mua"></big>

      <tt id="a5mua"><dfn id="a5mua"></dfn></tt>
      <wbr id="a5mua"><sup id="a5mua"></sup></wbr>

        
        

      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        lizhendong
        級別: 家園常客
        精華主題: 0
        發帖數量: 628 個
        工控威望: 831 點
        下載積分: 2247 分
        在線時間: 939(小時)
        注冊時間: 2016-10-12
        最后登錄: 2026-03-01
        查看lizhendong的 主題 / 回貼
        樓主  發表于: 2023-07-27 18:25
        C語言大俠們,如何詳細解讀這兩個函數???


        char *b24e(char *buf, unsigned char *byst, size_t sizeOfBytes)
        {
            int i = 0;
            unsigned char *p = byst;
            while ((size_t)(i = (p-byst)) < sizeOfBytes) {
                buf[2*i] = sel[((*p) >> 4)];
                buf[(2*i)+1] = sel[23 - ((*p) & 0x0f)];
                p++;
            }
            buf[(2*i)+1] = '\0';
            return buf;
        }

        unsigned char *b24d(unsigned char *buf, char *str, size_t countOfChars)
        {
            size_t i;
            char *p = str;
            char *loc[2];
            unsigned char n[2];
            if (countOfChars % 2)
                return NULL;
            for (i = 0; i < (countOfChars>>1); i++) {

                loc[0] = strchr( sel, str[2*i] );
                loc[1] = strchr( sel, str[ ( 2*i ) + 1 ] );
                if (loc[0] == NULL || loc[1] == NULL)
                    return NULL;
                n[0] = (unsigned char)( loc[0] - sel );
                n[1] = 23 - (unsigned char)( loc[1] - sel );
                buf = (unsigned char)((n[0] << 4) | n[1]);
            }
            return buf;
        }
        liuliangdt
        liuliangdt
        級別: 家園常客
        精華主題: 0
        發帖數量: 416 個
        工控威望: 687 點
        下載積分: 66347 分
        在線時間: 1009(小時)
        注冊時間: 2010-09-05
        最后登錄: 2026-03-03
        查看liuliangdt的 主題 / 回貼
        1樓  發表于: 2023-07-29 12:39
        //b24e是一個返回char類型指針的函數,函數帶3個參數。一個signed char類型指針,一個unsigned char類型指針,一個堆棧塊數量的參數
        char *b24e(char *buf, unsigned char *byst, size_t sizeOfBytes)
        {
            int i = 0;
            
            //指針p指向形參(*byst)
            unsigned char *p = byst;
            
            //第一次循環(i = p - byst) = 0強制轉換成(size_t)類型跟參數sizeOfBtes比較。結果大概率是真
            while ((size_t)(i = (p-byst)) < sizeOfBytes) {
                
                //sel是數組。數據(*p)右移4位作為sel數組的標號。(sel[((*p) >> 4)]是作32位數據處理,并且是在做類似壓棧操作。buf[2 * i]是char類型數組,搞不懂為什么這樣做?)
                buf[2*i] = sel[((*p) >> 4)];
                
                //((*p) & 0x0f)是上面右移了的4位,最小是0,最大是15。sel[8~23]中的一個字節數據賦值給buf[(2*i)+1]
                buf[(2*i)+1] = sel[23 - ((*p) & 0x0f)];
              
               //指針加一
                p++;
            }
            
            //數組byst處理完后在buf后面加0,數組bug[]現在存的是字符串數據
            buf[(2*i)+1] = '\0';
            
           //返回指針buf
            return buf;
        }

        太難了,我也不知道什么意思,歡迎大神指正錯誤。

        主站蜘蛛池模板: 日韩区中文字幕在线观看| 亚洲成av人片无码不卡播放器 | 果冻传媒董小宛视频| 色综合久久久久综合体桃花网| 美女自卫慰黄网站| 日本激情久久精品人妻热| 91色综合综合热五月激情| 亚洲男人天堂2021| 国产视频 视频一区二区| 国产精品一区 在线播放| 亚洲国产精品日韩在线| A级毛片100部免费看| 久久综合色之久久综合| 日本一区二区三区在线播放| 18岁日韩内射颜射午夜久久成人 | 丁香五月婷激情综合第九色| 青青青视频免费一区二区| 久久99久久99精品免视看国产成人| 另类性姿势bbwbbw| 亚洲国产精品第一区二区三区| 综合图区亚洲另类偷窥| 亚洲中文字幕综合网在线| 一区二区福利在线视频| 在线中文字幕第一页| a级免费视频| 成人无码视频| 亚洲精品日本久久久中文字幕| 久久一区二区三区黄色片| 综合色一色综合久久网| 精品国产一区二区三区麻豆| 亚洲区综合区小说区激情区| 国产精品青草视频免费播放| 日韩无套无码精品| 国产色婷婷亚洲99精品小说| 亚洲熟妇av综合一区二区| 亚洲精品一区二区麻豆| 亚洲 欧美 动漫 少妇 自拍| 蜜桃视频一区二区在线看| 视频一区无码中出在线| 亚洲国产av剧一区二区三区| 九九热在线这里只有精品|