欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言的字符空間與非字符空間你了解嗎

 更新時間:2021年08月26日 15:29:56   作者:寶全哥哥  
這篇文章主要介紹了C語言的字符空間與非字符空間,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下,希望能給你帶來幫助

前言

自學(xué)筆記,沒有歷史知識鋪墊(省略百度部分)C語言字符空間與非字符空間

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

字符空間與非字符空間標(biāo)識

空間首地址結(jié)束標(biāo)識

二、字符空間

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

三、非字符空間

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

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

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

注意:

遇到void *通常不使用char *p[]開辟空間,可以使用unsigned char *p[] 除非知道該函數(shù)參數(shù)具體是什么邏輯如果函數(shù)形參是int *p之類帶有數(shù)據(jù)類型,通常指的是單獨(dú)空間而不是連續(xù)空間的傳遞
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 循環(huán)處理使用
    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;
}

總結(jié)

本章主要為C語言字符空間與非字符空間

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C++單例模式的實(shí)例詳解

    C++單例模式的實(shí)例詳解

    這篇文章主要介紹了C++單例模式的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C語言拓展實(shí)現(xiàn)Lua sleep函數(shù)

    C語言拓展實(shí)現(xiàn)Lua sleep函數(shù)

    這篇文章主要介紹了C語言拓展實(shí)現(xiàn)Lua sleep函數(shù),本文使用C語言寫出sleep函數(shù),編譯后在Lua中調(diào)用,需要的朋友可以參考下
    2015-04-04
  • C++ assert()函數(shù)用法案例詳解

    C++ assert()函數(shù)用法案例詳解

    這篇文章主要介紹了C++ assert()函數(shù)用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • C++驅(qū)動bash的實(shí)現(xiàn)代碼

    C++驅(qū)動bash的實(shí)現(xiàn)代碼

    這篇文章主要介紹了C++驅(qū)動bash的實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • 使用c語言輸出楊輝三角形的簡單方法

    使用c語言輸出楊輝三角形的簡單方法

    這篇文章主要給大家介紹了關(guān)于如何使用c語言輸出楊輝三角形的簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C++實(shí)現(xiàn)Dijkstra算法

    C++實(shí)現(xiàn)Dijkstra算法

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)Dijkstra算法完整代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 深入了解c++數(shù)組與指針

    深入了解c++數(shù)組與指針

    這篇文章主要介紹了c++數(shù)組與指針的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C++之構(gòu)造函數(shù)默認(rèn)值設(shè)置方式

    C++之構(gòu)造函數(shù)默認(rèn)值設(shè)置方式

    這篇文章主要介紹了C++之構(gòu)造函數(shù)默認(rèn)值設(shè)置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++詳細(xì)分析lambda表達(dá)式的本質(zhì)

    C++詳細(xì)分析lambda表達(dá)式的本質(zhì)

    Lambda表達(dá)式是現(xiàn)代C++在C ++ 11和更高版本中的一個新的語法糖 ,在C++11、C++14、C++17和C++20中Lambda表達(dá)的內(nèi)容還在不斷更新。 lambda表達(dá)式(也稱為lambda函數(shù))是在調(diào)用或作為函數(shù)參數(shù)傳遞的位置處定義匿名函數(shù)對象的便捷方法
    2022-06-06
  • C++如何調(diào)用簡單的python程序

    C++如何調(diào)用簡單的python程序

    這篇文章主要介紹了C++如何調(diào)用簡單的python程序問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論