作業十一總結

2022-07-15 20:54:13 字數 1991 閱讀 2283

一、知識點:

1.指標、陣列和位址間的關係

·陣列的基位址是在記憶體中儲存陣列的起始位置,它是陣列中第乙個元素(下標為0)的位址,因此陣列名本身是乙個位址即指標值。

·指標是以位址作為值的變數,而陣列名的值是乙個特殊的固定位址,可以把它看作是常量指標。

p=a; 等價於 p=&a[0];

p=a+1; 等價於 p=&a[1];

注:p=a+1是合法的,但a=a+1就是非法的。

·陣列名可以使用指標形式,而指標變數也可以轉換為陣列形式。

·兩個相同型別的指標相減,表示它們之間相隔的陣列元素數目。

注:在c語言中,指標的算術運算只包括兩個相同型別的指標相減以及指標加上或減去乙個整數,其他的操作如指標相加、相乘和相除,或指標加上和減去乙個浮點數都是非法的。

·兩個相同型別指標還可以使用關係運算子比較大小。

2.陣列名作為函式的引數

使用陣列b作為實參呼叫sum函式的方法

呼叫被計算和被返回的內容

sum(b,100)

b[0]+b[1]+...+b[99]

sum(b,88)

b[0]+b[1]+...+b[87]

sum(&b[7],k-7)

b[7]+b[8]+...+b[k-1]

sum(b+7,2*k)

b[7]+b[8]+...+b[2*k+6]

3.字串和字元指標

·如果定義乙個字元指標接收字串常量的值,該指標就指向字串的首字元。這樣,字元陣列和字元指標都可以用來處理字串。例如:

char sa =」array」;

char *sp=」point」;

printf(「%s」,sa);

printf(「%s」,sp);

printf(「%s\n」,」string」);

輸出:array point string

呼叫printf(函式),以%s的格式輸出字串時,作為輸出引數,陣列名sa、指標sp和字串「string」的值都是位址,從該位址所指定的單元開始連續輸出其中的內容(字元),直至遇到『\0』為止。

·定義字元指標後,如果沒有對它賦值,指標的值是不確定的,不能明確它指向的記憶體單元。

·為了盡量避免引用未賦值的指標所造成的危害,在定義指標時,可先將它的初值置為空。 如:char *s=null。

4.常用的字串處理函式

·字串的輸入和輸出:函式scanf()和gets()可用來輸入字串,而printf()和puts()輸出字串。它們在系統檔案stdio.h中定義。

①scanf:格式控制字串中使用格式控制說明%s,輸入引數必須是字元型組名。該函式遇回車或空格輸入結束,並自動將輸入的資料和字串結束符『\0』送入陣列中。

例如:scanf(「%s」,s);

②printf:格式控制字串中相應的格式控制說明用%s,輸出引數可以是字元陣列名或字串常量。輸出『\0』結束。例如:printf(「%s」,s);

③字串輸入函式gets(s):引數s是字元陣列名。函式從輸入得到乙個字串,遇回車輸入結束,自動將輸入的資料和『\0』送入陣列中。採用函式gets()輸入的字串允許帶空格。實際上函式gets()有返回值,如果輸入成功則返回值是字串第乙個字元的位址,如果輸入失敗則返回null。但一般情況下使用gets()主要是為了輸入字串,而不關心它的返回值。

④字串輸出函式puts(s):引數s可以是字元陣列名或字串常量。輸出時遇『\0』自動將其轉換為『\n』,即輸出字串後換行。同樣函式puts()也有返回值,如果成功執行了輸出字串的操作,則返回換行符號『\n』,否則返回eof。

二、實驗過程中遇到的問題及解決方法:

第三題在實驗過程中問題比較大,主要是開始思路不清晰,後在老師的提醒和同學的幫助下才得以完成。

三、實驗心得體會:

感覺實驗題目一次比一次難,進度也在不斷加快,總是對某些細微的地方缺乏重視,導致最終程式宇執行出現錯誤。

作業十一總結?

知識1 字串和字元指標 如果定義乙個字元指標接收字串常量的值,該指標就指向字串的首字元。這樣,字元陣列和字元指標都可以用來處理字串。例如 char sa array char sp point printf s sa printf s sp printf s n string 輸出 array po...

作業十一總結

知識1 字串和字元指標 如果定義乙個字元指標接收字串常量的值,該指標就指向字串的首字元。這樣,字元陣列和字元指標都可以用來處理字串。例如 char sa array char sp point printf s sa printf s sp printf s n string 輸出 array po...

作業十一 總結

一 知識點 1.陣列名作為函式的引數 2.指標 陣列和位址間的關係 陣列的基位址是在記憶體中儲存陣列的起始位置,它是陣列中第乙個元素 下標為0 的位址,因此陣列名本身是乙個位址即指標值。3.常用的字串處理函式 字串的輸入和輸出 函式scanf 和gets 可用來輸入字串,而printf 和puts ...