亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言的字符空間與非字符空間是什么

發布時間:2021-08-26 18:15:58 來源:億速云 閱讀:159 作者:chen 欄目:開發技術

這篇文章主要講解了“C語言的字符空間與非字符空間是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C語言的字符空間與非字符空間是什么”吧!

目錄
  • 一、字符空間與非字符空間概念

  • 二、字符空間

  • 三、非字符空間

  • 四、void * 非字符空間形參化


一、字符空間與非字符空間概念

字符空間與非字符空間標識

空間首地址結束標識

二、字符空間

首地址:char空間當作字符串來用,通常字符空間操作的函數以str開頭,如int strlen(const char *p);結束標識:\0或者0x00

三、非字符空間

首地址:int *p /unsigned char *p /short *p /struct a *p 一般非const char *p都時非字符空間結束標識: 通常函數會提供長度指定的參數int len

四、void * 非字符空間形參化

為了避免參數的長度不一致,導致需要建立多個重復函數處理的問題
func(void * ,size_t len){...}

注意:

遇到void *通常不使用char *p[]開辟空間,可以使用unsigned char *p[] 除非知道該函數參數具體是什么邏輯如果函數形參是int *p之類帶有數據類型,通常指的是單獨空間而不是連續空間的傳遞
void func1(void *p, size_t len)
{
    unsigned char *temp = (unsigned char *)p;
    //41
    printf("%X\n", temp[0]);
}
int main()
{
    char a = 'A';
    func1(&a, sizeof(a));
    return 0;
}
void func1(void *p, size_t len)
{
	//4 循環處理使用
    printf("%d\n", len);
    unsigned char *temp = (unsigned char *)p;
    //1
    printf("%X\n", temp[0]);
    //2
    printf("%X\n", temp[1]);
    //3
    printf("%X\n", temp[2]);
    //3
    printf("%X\n", temp[3]);
}
int main()
{
    unsigned char a[] = {1,3,5,7};
    func1(a, sizeof(a));
    return 0;
}

感謝各位的閱讀,以上就是“C語言的字符空間與非字符空間是什么”的內容了,經過本文的學習后,相信大家對C語言的字符空間與非字符空間是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

信丰县| 斗六市| 农安县| 绿春县| 甘南县| 延边| 沙雅县| 三台县| 利川市| 镇江市| 临漳县| 凤山县| 东辽县| 宾阳县| 大同市| 平顶山市| 二手房| 滕州市| 报价| 宁津县| 河北区| 淮安市| 乐山市| 迁西县| 佛学| 哈尔滨市| 鄄城县| 德格县| 长武县| 大方县| 察雅县| 翁源县| 夏邑县| 枣强县| 雷山县| 南召县| 扎赉特旗| 曲麻莱县| 弋阳县| 宣化县| 青州市|