您好,登錄后才能下訂單哦!
/* 指針?:?專于保存地址的數據結構,占用8個字節,并且可以通過指針保存的地址訪問指針指向的內存空間的值; ????定義格式?:?指針所指向的數據類型?*指針名稱; ????初始化?;?1,定義的同時初始化,如?:?int?*[n]numP?=?#????//定義幾級指針,則寫幾個"*"; ?????????????2,定義后,再初始化,如?:?int?*[n]numP;?numP?=?# ?????????????//注?:?變量名稱往往決定了從內存哪里開始取值;數據類型決定了從內存取值時,決定要取多少個字節的值, ????????????????????當然取出來的只是二進制而已;而占位符則決定了將取出來的二進制轉換成怎樣的形式進行輸出; 指向數組的指針?:? ????定義格式?:?數組數據類型?*指針名稱; ????//注?:?數組名稱保存的即為數組的地址,即為數組中第一個元素的地址;因此,在對指向數組的指針初始化時,可直接將數組名稱賦值給指針即可; ????//注?:?指針可做加減運算,如某個指針加1,這里的1指的是單位1,也即指針所指向的數據類型占用的字節數; ????案例?:?利用指針遍歷字符串?: ????char?string[]?=?"acssd"; ????char?*stringP?=?string; ????while?(*stringP?!=?'\0') ????{ ????????printf("%c",*stringP); ????????stringP++; ????} ????printf("\n"); 指針和字符串?: ????保存字符串的兩種方式?: ????????通過數組保存字符串,如?:?char?string[]?=?"adsdds";????//字符串保存位置:?棧中,生命周期?:?自創建起至return或"}"; ????????通過指針保存字符串,如?:?char?*string?=?"assd";????//字符串保存位置?:?常量區中,生命周期?:?自創建起,始終存在,且在常量區中,值相同的變量指向同一塊內存空間; ??????????????????????????????????????????????????????????//應用場景?:?當需要頻繁使用某一個常量時,可避免內存空間的頻繁創建和釋放,提升程序執行效率; 指針數組?:?就是保存有多個指針的數組 ????指針指向的數據類型?*數組名稱[元素個數]; 指向函數的指針?:? ????//注?:?函數也會占據一塊內存空間,因此函數也會有自己的地址,保存在函數名中; ????定義格式?:?函數返回值的數據類型?(*指針名稱)?(形參)????//形參名稱可省略不寫; ????通過指針調用函數?:?1,(*指針名稱)(實參) ???????????????????????2,指針名稱(實參) ????應用場景?:?實現入口或類; ????????常可通過指針實現一個入口,根據用戶需求不同,調用不同的函數以實現不同的動作或功能.由此,我們也可以理解"類"這一概念,如在python中的print函數,時間上print函數 ????????僅僅只是一個打印入口而已,print函數會根據用戶要求打印的內容不同,調用不同的打印函數,打印相應的內容,如打印整型數據和打印浮點型數據,調用的打印函數就不同; */
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。