91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

杭锦后旗| 宁都县| 农安县| 彝良县| 忻州市| 铅山县| 清新县| 连州市| 上栗县| 石柱| 蓬溪县| 哈尔滨市| 辽宁省| 田阳县| 阿荣旗| 炉霍县| 建德市| 台东市| 太仓市| 腾冲县| 望都县| 资溪县| 区。| 博白县| 武山县| 景谷| 博湖县| 松原市| 桑植县| 东兰县| 荣成市| 威海市| 盐城市| 交城县| 雅江县| 龙海市| 鹰潭市| 阜宁县| 玉门市| 福建省| 临洮县|