freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言:第09章__指針(文件)

2025-08-19 16:08 上一頁面

下一頁面
 

【正文】 否進行排序? 語言程序設(shè)計教程 第二版 第九章 指 針 C 指針與字符串 字符串表示形式 ? 用字符數(shù)組實現(xiàn) 例 : void main ( ) { char string[] = “I love China!”。 printf (“%s\n”, string)。 } } I l o v e C h i string n ! a \0 字符指針 初始化 :把字符串 首地址 賦給 string ? char *string。 ? str由若干元素組成,每個元素放一個字符;而 cp中存放字符串首地址 ? char str[20]。 (?) ? str是地址 常量 ; cp是地址變量 ? cp接受鍵入字符串時 ,必須 先開辟存儲空間 例 char str[10]。 (?) 改為 : char *cp, str[10]。 (?) char str[]=“Hello!”。 (?) int *p={1,2,3,4,5}。 (?) cp=“Hello!”。 printf(“%s”,str)。 char str[10], *pstr。 printf (The Length of str is: %d\n, strlen(pstr))。 char str[8]。 //pstr指向數(shù)組 str所對應(yīng)內(nèi)存單元的首地址 strcpy (pstr, 0123456789)。 char *p, *q。 //q指向字符串的末地址 while (p q) { //交換 p和 q各自指向的字符 ch = *p。 } 運行結(jié)果: I love China! ↙ !anihC evol I 語言程序設(shè)計教程 第二版 第九章 指 針 C 39。 39。 39。 39。 39。 39。 39。!39。a39。L39。o39。v39。C39。 End 程序執(zhí)行過程演示: 語言程序設(shè)計教程 第二版 第九章 指 針 C ? 字符串指針數(shù)組與字符串二維數(shù)組之間的區(qū)別 char str[3][10] = {Wuhan, Beijing, Shanghai}。 pstr[2] = str[2]。u39。a39。B39。i39。i39。g39。h39。n39。h39。i39。 39。 39。 0 39。 39。 39。 39。 39。 39。 39。 39。 char *ptemp。 for (j = i+1。 pcity[i] = pcity[k]。 strcmp(pcity[i],) != 0。 int k。 如果事先并不知道學(xué)生的具體人數(shù),編寫程序時,人數(shù)由用戶輸入,然后再輸入學(xué)生的成績。n)。 (1) malloc 函數(shù) malloc()用于分配若干個字節(jié)的內(nèi)存空間,返回一個指向該存儲區(qū)地址的指針。 成功,則返回值是一個指向空類型( void)的指針 (即所分配內(nèi)存塊的首地址)。 //分配 n個連續(xù)的整型單元,首地址賦給 pscore pscore = (int *) malloc(n * sizeof(int))。因為 malloc的返回值是空類型的指針,一般應(yīng)與右邊的指針變量類型一致。通過調(diào)用函數(shù)calloc()所分配的存儲單元,系統(tǒng)將其自動 置初值 0。 int n, *pscore。 //分配內(nèi)存失敗,則給出錯誤信息后退出 if (pscore == NULL) { printf (Insufficient memory available! )。 功能: 將指針 p所指向的存儲空間的大小改為 size個字節(jié) 。 p = (char *) malloc(4 * sizeof(char))。 1 2 3 4 p 4字節(jié) 6字節(jié) 1 2 3 4 p = (char *) realloc(p, 6*sizeof(char))。 例: free( pscore )。 int maxscore, minscore, sumscore。 scanf (%d, amp。 if ( pscore == NULL ) { printf ( Insufficient memory available\n )。 i num。 sumscore = pscore[0]。 if (pscore[i] minscore) minscore = pscore[i]。 printf (the averag。 } averscore = (float)sumscore / num。 i num。 maxscore = pscore[0]。 } printf (input the scores of students now:\n)。 if (num = 0 ) return。 float averscore。 malloc或 calloc或 realloc與 free一般成對出現(xiàn)! 語言程序設(shè)計教程 第二版 第九章 指 針 C 【 例 】 編寫程序先輸入學(xué)生人數(shù),然后輸入學(xué)生成績,最后輸出學(xué)生的平均成績、最高成績和最低成績 。因此需要動態(tài)分配內(nèi)存的程序一定要堅持 “ 好借好還,再借不難 ” 的原則。 i 4。 函數(shù) realloc()主要應(yīng)用場合是: 當(dāng)先前通過動態(tài)內(nèi)存分配的存儲空間因?qū)嶋H情況需要進行擴充或縮小時,就可以使用函數(shù) realloc()來解決,其好處是原存儲空間中的數(shù)據(jù)值能保持不變。 } … … //可對 pscore所指向的單元進行其它處理 語言程序設(shè)計教程 第二版 第九章 指 針 C (3) ralloc 函數(shù) realloc()用于改變原來分配的存儲空間的大小。n)。 說明: ?num表示向系統(tǒng)申請的內(nèi)存空間的數(shù)量, size表示申請的每個內(nèi)存空間的字節(jié)數(shù)。所以在動態(tài)內(nèi)存分配的語句的后面一般緊跟一條 if語句以判斷分配是否成功。 exit (0)。 scanf (%d, amp。 說明: ?size這個參數(shù)的含義是分配的內(nèi)存的大?。ㄒ?字節(jié) 為單位)。 程序可以動態(tài)分配一個數(shù)組,也可以動態(tài)分配其它類型的數(shù)據(jù)單元。 int score[n]。 //系統(tǒng)將給這個數(shù)組 ch分配 10個字節(jié)的內(nèi)存塊,首地址就是 ch的值 靜態(tài)內(nèi)存分配一般是在已知道數(shù)據(jù)量大小的情況下使用 例如,要對 10個學(xué)生的成績按降序輸出,則可定義一個數(shù)組: int score[10]。 printf (\n)。 } } 【例 】 利用字符指針數(shù)組對一組城市名進行升序排列 。 j++) if (strcmp(pcity[k], pcity[j]) 0) k = j。 strcmp(pcity[i],) != 0。 0 pstr str 字符串結(jié)束標(biāo)志 語言程序設(shè)計教程 第二版 第九章 指 針 C include include void main ( ) { int i, j, k。 39。 39。 39。 0 39。 39。 39。 39。 39。 39。 pstr[0] pstr[1] pstr[2] 39。a39。g39。a39。S39。n39。j39。e39。n39。h39。W39。 pstr[0] = str[0]。e39。 39。h39。i39。n39。I39。 0 str p q p = str。 39。 39。 39。 39。 39。 39。 //先將 q指向的字符賦給 p指向的字符單元, p再增 1 *q = ch。 //讀取一個字符串 p = str。 pstr = ?a?。 //野指針操作, pstr沒有指向有效內(nèi)存 strcpy (pstr, hello)。野指針操作盡管編譯時不會出錯,但很容易引起程序運行時表現(xiàn)異常,甚至導(dǎo)致系統(tǒng)崩潰。 //pstr指向 12345 strcpy (str, pstr)。 puts(str)。 (?) p={1,2,3,4,5}。 int a[10], *p。 (?) char *cp=“Hello”。 scanf (“%s”,cp)。 (?) 而 char *cp。 (?) char *cp。 string *string != 0 運行結(jié)果: I love China! China! 整體引用 逐個字符引用 語言程序設(shè)計教程 第二版 第九章 指 針 C 字符指針變量與字符數(shù)組 char *cp。 while (*string) { putchar (string[0])。 printf (“%s\n”, string + 7)。 i++) //顯示排序后的結(jié)果 printf(%d , *p[i])。 *p[i] = *p[j]。 i 4。d, amp。 //將 a,b,c,d,e的內(nèi)存地址分別賦給 p[0]...p[4] int *p[5] = {amp。 int (*p)[20]。c39。a39。c[1]。 char *p[3]。b39。 其定義的一般格式為: 數(shù)據(jù)類型符 *變量名 [常量表達(dá)式 ]。 如: p = a[0]。 或 (2) amp。 for (j = 0。 j 3。 p = a。 (?) 語言程序設(shè)計教程 第二版 第九章 指 針 C (2) 通過二維數(shù)組的行指針來訪問二維數(shù)組 【 例 】 利用指向二維數(shù)組的行指針變量對二維數(shù)組的引用。 二維數(shù)組第二維的大小 括號不能省 例: int a[2][3]。a[1][0] (3) a[1] (4) *(a+1) (5)(int *) (a+1) 行指針 列指針 地址表示: (1) amp。a[i][0], 表示第 i行第 0列元素地址,指向列 int a[3][4]。 a[0] a[1] a[2] 2022 2022 2022 2022 2022 2022 2022 2022 2022 a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] a[0][2] a[0][3] a[1][2] a[1][3] a[2][2] a[2][3] 基類型 行指針與列指針 a[0]+1 a[1]+1 a[2]+1 *(a+0)+1 *(a+1)+1 *(a+2)+1 指向多維數(shù)組的指針 ____數(shù)組指針 二維數(shù)組的理解: 語言程序設(shè)計教程 第二版 第九章 指 針 C ? a+i = amp。 指向多維數(shù)組的指針 ____數(shù)組指針 語言程序設(shè)計教程 第二版 第九章 指 針 C 如果將二維數(shù)組名 a看成一個行地址(第 0行的地址),則a+i代表二維數(shù)組 a的第 i行的地址, a[i]可看成一個列地址,即第 i行第 0列的地址 。 語言程序
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1