• <cite id="uwv89"></cite>
      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        lizhendong
        級別: 家園常客
        精華主題: 0
        發帖數量: 622 個
        工控威望: 817 點
        下載積分: 2029 分
        在線時間: 897(小時)
        注冊時間: 2016-10-12
        最后登錄: 2025-08-31
        查看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
        發帖數量: 443 個
        工控威望: 682 點
        下載積分: 66148 分
        在線時間: 994(小時)
        注冊時間: 2010-09-05
        最后登錄: 2025-08-30
        查看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天堂综合网久久| 国产精品一区二区三区麻豆| 素人视频亚洲十一十二区| 起碰免费公开97在线视频| 99久久er热在这里只有精品99| 国产精品久久中文字幕| 18禁视频一区二区三区| 国产日韩入口一区二区| 麻豆成人精品国产免费| 国产综合久久99久久| 中文日韩在线一区二区| 亚洲国产亚洲综合在线尤物| 亚洲国产综合性亚洲综合性| 天堂V亚洲国产V第一次| 亚洲一区在线成人av| 精品一精品国产一级毛片| 亚洲深深色噜噜狠狠网站| 中文成人无字幕乱码精品区| 四虎国产精品免费久久| 国产麻豆放荡av激情演绎| 五十路久久精品中文字幕| 国产一区日韩二区欧美三区| 国产成人欧美日韩在线电影| 亚洲毛片多多影院| 亚洲精品一区二区三区蜜| 久久99精品久久久久久9| 欧美性XXXX极品HD欧美风情| 欧美成人h精品网站| 精品午夜福利在线视在亚洲| 国产激情第一区二区三区| 深夜福利资源在线观看| 国产999久久高清免费观看| 国产欧美日韩精品丝袜高跟鞋| 亚洲天堂亚洲天堂亚洲色图 | 亚洲中文字幕在线二页| 国产超碰无码最新上传| 久久精品国产一区二区蜜芽| 一区二区在线观看 激情| 国产激情福利短视频在线| 国产精品成人午夜福利|