第0章C語(yǔ)言程序設(shè)計(jì)_第1頁(yè)
第0章C語(yǔ)言程序設(shè)計(jì)_第2頁(yè)
第0章C語(yǔ)言程序設(shè)計(jì)_第3頁(yè)
第0章C語(yǔ)言程序設(shè)計(jì)_第4頁(yè)
第0章C語(yǔ)言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第0章C語(yǔ)言程序設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)C程序結(jié)構(gòu)如下圖所示。即一個(gè)C程序可以由若干個(gè)源程序文件(分別進(jìn)行編譯的文件模塊)組成,一個(gè)源文件可以由若干個(gè)函數(shù)和預(yù)處理命令以及全局變量聲明部分組成。一個(gè)函數(shù)由數(shù)據(jù)定義部分和執(zhí)行語(yǔ)句組成。C程序的結(jié)構(gòu)即、C源程序文件的結(jié)構(gòu)一般如下:預(yù)處理命令全局變量聲明函數(shù)1

函數(shù)2...

函數(shù)n

主函數(shù)其中,函數(shù)分為庫(kù)函數(shù)和用戶自定義函數(shù)兩大類。庫(kù)函數(shù)也稱作系統(tǒng)函數(shù),是包括在高級(jí)語(yǔ)言軟件中的提供基礎(chǔ)功能的函數(shù)。用戶自定義函數(shù)是軟件開發(fā)者根據(jù)所處理的特定問(wèn)題設(shè)計(jì)的提供特定功能的函數(shù)。在一個(gè)函數(shù)中調(diào)用另一函數(shù)(即被調(diào)用函數(shù))需要具備哪些條件呢?(1)首先被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù)(是庫(kù)函數(shù)或用戶自己定義的函數(shù))。但光有這一條件還不夠。(2)如果使用庫(kù)函數(shù),一般還應(yīng)該在本文件開頭用#include命令將調(diào)用有關(guān)庫(kù)函數(shù)時(shí)所需用到的信息“包含”到本文件中來(lái)。

例如,#include<stdio.h>其中“studio.h”是一個(gè)“頭文件”。在stdio.h文件中放了輸入輸出庫(kù)函數(shù)所用到的一些宏定義信息。如果不包含“stdio.h”文件中的信息,就無(wú)法使用輸入輸出庫(kù)中的函數(shù)。同樣,使用數(shù)學(xué)庫(kù)中的函數(shù),應(yīng)該用

#include<math.h>C頭文件一覽

#include<assert.h>

//設(shè)定插入點(diǎn)

#include<ctype.h>

//字符處理

#include<errno.h>

//定義錯(cuò)誤碼

#include<float.h>

//浮點(diǎn)數(shù)處理

#include<fstream.h>

//文件輸入/輸出

#include<iomanip.h>

//參數(shù)化輸入/輸出

#include<iostream.h>

//數(shù)據(jù)流輸入/輸出

#include<limits.h>

//定義各種數(shù)據(jù)類型最值常量

#include<locale.h>

//定義本地化函數(shù)

#include<math.h>

//定義數(shù)學(xué)函數(shù)

#include<stdio.h>

//定義輸入/輸出函數(shù)

#include<stdlib.h>

//定義雜項(xiàng)函數(shù)及內(nèi)存分配函數(shù)

#include<string.h>

//字符串處理

#include<strstrea.h>

//基于數(shù)組的輸入/輸出

#include<time.h>

//定義關(guān)于時(shí)間的函數(shù)

#include<wchar.h>

//寬字符處理及輸入/輸出

#include<wctype.h>

//寬字符分類類型標(biāo)識(shí)符函數(shù)名(數(shù)據(jù)類型參數(shù)1,……,數(shù)據(jù)類型參數(shù)n){聲明部分語(yǔ)句}例如:int

max(int

x,inty){

int

z;/*函數(shù)體中的聲明部分*/

z=x>y?x∶y;

return(z);}函數(shù)在調(diào)用函數(shù)時(shí),大多數(shù)情況下,主調(diào)函數(shù)和被調(diào)用函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。這就是前面提到的有參函數(shù)。形式參數(shù):在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱為"形式參數(shù)"(簡(jiǎn)稱"形參"),實(shí)際參數(shù):在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧中的參數(shù)(可以是一個(gè)表達(dá)式)稱為"實(shí)際參數(shù)"(簡(jiǎn)稱"實(shí)參")。返回值通常,希望通過(guò)函數(shù)調(diào)用使主調(diào)函數(shù)能得到一個(gè)確定的值,這就是函數(shù)的返回值。下面對(duì)函數(shù)返回值作一些說(shuō)明:(1)函數(shù)的返回值是通過(guò)函數(shù)中的return語(yǔ)句獲得的。return語(yǔ)句將被調(diào)用函數(shù)中的一個(gè)確定值帶回主調(diào)函數(shù)中去。一個(gè)函數(shù)中可以有一個(gè)以上的return語(yǔ)句,執(zhí)行到哪一個(gè)return語(yǔ)句,哪一個(gè)語(yǔ)句起作用。return語(yǔ)句后面的括弧也可以不要,如returnz;它與"return(z);"等價(jià)。return后面的值可以是一個(gè)表達(dá)式。例如,例8.2中的函數(shù)max可以改寫如下:

max(int

x,inty)

{

return(x>y?x∶y);

}這樣的函數(shù)體更為簡(jiǎn)短,只用一個(gè)return語(yǔ)句就把求值和返回都解決了。(2)

函數(shù)值的類型。既然函數(shù)有返回值,這個(gè)值當(dāng)然應(yīng)屬于某一個(gè)確定的類型,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類型。例如:int

max(float

x,floaty)/*函數(shù)值為整型*/charletter(charc1,charc2)/*函數(shù)值為字符型*/doublemin(int

x,inty)/*函數(shù)值為雙精度型*/在定義函數(shù)時(shí)對(duì)函數(shù)值說(shuō)明的類型一般應(yīng)該和return語(yǔ)句中的表達(dá)式類型一致。(3)如果函數(shù)值的類型和return語(yǔ)句中表達(dá)式的值不一致,則以函數(shù)類型為準(zhǔn)。對(duì)數(shù)值型數(shù)據(jù),可以自動(dòng)進(jìn)行類型轉(zhuǎn)換。即函數(shù)類型決定返回值的類型。(4)如果被調(diào)用函數(shù)中沒有return語(yǔ)句,并不帶回一個(gè)確定的、用戶所希望得到的函數(shù)值,但實(shí)際上,函數(shù)并不是不帶回值,而只是不帶回有用的值,帶回的是一個(gè)不確定的值。(5)為了明確表示"不帶回值",可以用"void"定義"無(wú)類型"(或稱"空類型")。例如,例8.1中的定義可以改為voidprintstar(){…}voidprint-message(){…}例0-1設(shè)計(jì)一個(gè)從兩個(gè)大整數(shù)類型的數(shù)據(jù)中得到較大數(shù)值的函數(shù),并設(shè)計(jì)一個(gè)主函數(shù)調(diào)用該函數(shù)。#include<stdio.h>typedeffloatDataType;DataTypeMax3(DataTypex1,DataTypex2){if(x1>=x2)returnx1;elsereturnx2;}voidmain(void){

DataTypet1=5.1,t2=8.8,max;max=Max3(t1,t2);

printf("Max=%f\n",max);max=Max3(t2,t1);

printf("Max=%f\n",max);}輸入型參數(shù)輸入型參數(shù)是指調(diào)用函數(shù)只通過(guò)該參數(shù)傳遞數(shù)據(jù)給被調(diào)用函數(shù)。由于調(diào)用函數(shù)只向被調(diào)用函數(shù)傳遞數(shù)據(jù),所以稱為輸入型參數(shù)。比如,例0-1中Max3()函數(shù)中的兩個(gè)形式參數(shù)x1,x2都是輸入型參數(shù)。55形參x1實(shí)參t1調(diào)用函數(shù)時(shí)5形參x1實(shí)參t1調(diào)用結(jié)束時(shí)輸出型參數(shù)輸出型參數(shù)是指調(diào)用函數(shù)只通過(guò)該參數(shù)把被調(diào)用函數(shù)處理后得到的結(jié)果傳送給調(diào)用函數(shù)。由于這樣的參數(shù)數(shù)據(jù)是離開被調(diào)用函數(shù)的,所以稱為輸出型參數(shù)。#include<stdio.h>voidMax2(intx1,intx2,intx3,int*y1,int*y2)/*輸出參數(shù)y1和y2設(shè)計(jì)為指針類型*/{if(x1>=x2&&x1>=x3){*y1=x1;if(x2>=x3)*y2=x2;else*y2=x3;}if(x1>=x2&&x1<x3){*y1=x3;if(x1>=x2)*y2=x1;else*y2=x2;}if(x1<x2&&x2>=x3){*y1=x2;if(x1>=x3)*y2=x1;else*y2=x3;}例0-2設(shè)計(jì)一個(gè)從三個(gè)整數(shù)中得到最大值和次大值的函數(shù)if(x1<x2&&x2<x3){*y1=x3;if(x1>=x2)*y2=x1;else*y2=x2;}}voidmain(void){intv1=5,v2=9,v3=7,f1,f2;Max2(v1,v2,v3,&f1,&f2);

/*&f1表示f1的地址,為指針類型*/printf("f1=%df2=%d\n",f1,f2);}形參y1實(shí)參f1調(diào)用函數(shù)時(shí)形參y1實(shí)參f1調(diào)用結(jié)束時(shí)f1f1輸出型參數(shù)寫程序時(shí)自己定義的數(shù)據(jù)類型稱作“用戶定義類型”。形式:typedef

類型名

標(biāo)識(shí)符;typedef的作用僅僅是用新類型名來(lái)代表已存在的類型名,并未產(chǎn)生新的數(shù)據(jù)類型。原有的類型名依然有效。

新的類型名可以和C語(yǔ)言中原有的各種基本類名一樣,方便地用于定義變量、定義函數(shù)的返回值、定義其它構(gòu)造類型的元素或成員。

例1:typedef

intINTEGER;給int類型一個(gè)新的名字INTEGER,此后,可以用INTEGER來(lái)定義整型變量。如:INTEGERi,j,a[10];類型定義

例2:typedefchar*CHARP;

新類型名CHARP是字符指針類型,表示的舊類型是char*。

CHARPp;

等價(jià)于:char*p;例3:typedefdoubleVECT[4];

定義一種具有4個(gè)元素的雙精度數(shù)組類型VECT;程序中VECTv1,v2;定義兩個(gè)4個(gè)元素的雙精度數(shù)組。定義新類型的步驟:

首先按通常定義變量的方法寫出定義的主體;如:

double*f;(2)將變量名換成新類型名;

double*PDOUBLE;(3)在最前面加上關(guān)鍵字typedef;

typedefdouble*PDOUBLE;(4)可以用新類型定義變量了;

PDOUBLEf1,f2;結(jié)構(gòu)體可以將若干個(gè)不同類型的數(shù)據(jù)組合成一個(gè)復(fù)合數(shù)據(jù)對(duì)象。組成結(jié)構(gòu)體的數(shù)據(jù)項(xiàng)稱結(jié)構(gòu)體的成分或成員。結(jié)構(gòu)體類型成員的數(shù)量必須固定,但該結(jié)構(gòu)體中各個(gè)成員的類型可以不同。一、結(jié)構(gòu)體類型說(shuō)明、結(jié)構(gòu)體變量定義

1結(jié)構(gòu)體類型說(shuō)明

struct

結(jié)構(gòu)體名{成員說(shuō)明序列};

結(jié)構(gòu)體名是結(jié)構(gòu)體類型說(shuō)明的標(biāo)志,如果所定義的結(jié)構(gòu)體類型,在程序中很少使用,可以省略結(jié)構(gòu)體名,在說(shuō)明類型的同時(shí)定義結(jié)構(gòu)體變量;如果所定義的結(jié)構(gòu)體類型,在程序中要多次使用,應(yīng)該使用結(jié)構(gòu)體名說(shuō)明結(jié)構(gòu)類型,以后在程序需要該結(jié)構(gòu)體類型的地方,用“struct

結(jié)構(gòu)體名”的形式代表整個(gè)說(shuō)明。相當(dāng)于一個(gè)類型名。

結(jié)構(gòu)體

例日期可以用包含三個(gè)成員的結(jié)構(gòu)體來(lái)描述:

structdate{intyear,month,day;};學(xué)生信息的結(jié)構(gòu)體類型可說(shuō)明如下:

structstudent{charname[15];charsex;

structdatebirthday;floatscore[4];};其中structdate是一個(gè)已說(shuō)明過(guò)的結(jié)構(gòu)體類型名。2結(jié)構(gòu)體變量定義

結(jié)構(gòu)體變量定義有4種方法:(1)直接定義結(jié)構(gòu)體類型變量,將一個(gè)結(jié)構(gòu)體說(shuō)明當(dāng)成類型描述,在它后面列出變量標(biāo)識(shí)符。這種表示方法沒有結(jié)構(gòu)體名,定義形式如下:struct{成員說(shuō)明序列}結(jié)構(gòu)體變量表;例:struct

{charname[10];

intage;

intclass;}stu1,stu2[5],*stu3;intstu1,stu2[5],*stu3;它類似于:(2)聲明類型同時(shí),定義結(jié)構(gòu)體變量struct

結(jié)構(gòu)體名{成員說(shuō)明序列}結(jié)構(gòu)體變量表;例:structpoint{doublex,y,z;}p1,p2,*p3;說(shuō)明結(jié)構(gòu)體類型point,并定義三個(gè)變量。

(3)使用已聲明的結(jié)構(gòu)體類型,定義結(jié)構(gòu)體變量struct

結(jié)構(gòu)體類型名

結(jié)構(gòu)體變量表;例:使用上面的例子中說(shuō)明的structpoint。

structpointp1,p2[5],*p3;(4)定義結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體變量

typedef

struct{成員說(shuō)明序列}結(jié)構(gòu)體類型名;結(jié)構(gòu)體類型名結(jié)構(gòu)體變量表;3結(jié)構(gòu)體的實(shí)現(xiàn)

C語(yǔ)言為結(jié)構(gòu)體對(duì)象分配足夠大的存儲(chǔ)空間,順序地放入各個(gè)成員,但具體的存儲(chǔ)位置,由一組對(duì)齊規(guī)則來(lái)調(diào)整,結(jié)構(gòu)體里的成員未必一個(gè)緊接著一個(gè)存放,它們之間可能有空位。結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的空間計(jì)算:sizeof運(yùn)算符:sizeof(<已定義的數(shù)據(jù)類型>)結(jié)構(gòu)體名二、結(jié)構(gòu)體變量的初始化和使用

1結(jié)構(gòu)體變量的初始化

可以在定義的同時(shí)初始化,使用{}將變量的成員的初始化值組合起來(lái)。如

structpoint{doublex,y;}p1={1.5,4.6},p[3]={{1.5,2.5},{3.4,2.4},{8.6,9.0}};初始化描述中的初始值將順序提供給結(jié)構(gòu)變量的各基本成員,初始化表達(dá)式只能是可靜態(tài)求值的表達(dá)式。給出的初始化數(shù)據(jù)與結(jié)構(gòu)成員類型一致,個(gè)數(shù)不得多于成員數(shù)量,如果提供的數(shù)據(jù)項(xiàng)不夠,與數(shù)組的規(guī)定一樣,其余成員自動(dòng)用0初始化。如果定義時(shí)沒有提供初始值,系統(tǒng)對(duì)結(jié)構(gòu)變量的處理方式與其它變量一樣。外部和全局變量,用0初始化,自動(dòng)變量不進(jìn)行初始化,各成員的狀態(tài)不確定。

2結(jié)構(gòu)體變量操作

(1).整體賦值:同樣類型的結(jié)構(gòu)體變量,可整體進(jìn)行相互賦值。(2).結(jié)構(gòu)體成員引用成員運(yùn)算符:兩個(gè)運(yùn)算符“.”和“->”優(yōu)先級(jí):與圓括號(hào)、下標(biāo)運(yùn)算符相同,在C的運(yùn)算符中優(yōu)先級(jí)最高結(jié)合方式:自左向右結(jié)構(gòu)體中簡(jiǎn)單變量成員的引用形式有下面三種:(1)結(jié)構(gòu)體變量名.成員名

(名字引用)(2)結(jié)構(gòu)體指針->成員名

(指針引用)(3)(*結(jié)構(gòu)體指針).成員名

(將指針轉(zhuǎn)化為名字應(yīng)用)3.對(duì)結(jié)構(gòu)體成員進(jìn)行操作結(jié)構(gòu)體變量中的每一個(gè)成員都屬于某個(gè)具體的類型,可以象普通變量一樣,對(duì)它進(jìn)行同類變量所允許的任何操作。例:structdate{intyear,month,day;};

structstudent{charname[15];charsex;

structdatebirthday;floatscore[4];}stu1,stu2;

scanf(“%s”,);strcpy(,”Zhangyang”);scanf(“%c”,&stu1.sex);stu1.sex=’M’;stu1.birthday.year=1963;scanf(“%d”,&stu1.birthday.year);三、結(jié)構(gòu)體與函數(shù)(1)向函數(shù)傳遞結(jié)構(gòu)體變量的成員C語(yǔ)言函數(shù)實(shí)參、形參傳遞數(shù)據(jù)只有值傳遞,結(jié)構(gòu)體變量的成員可以是簡(jiǎn)單變量、數(shù)組或指針變量等,作為成員變量,可以參與其類型允許的任何操作,這個(gè)原則也適用于參數(shù)傳遞結(jié)構(gòu)體變量中的每一個(gè)成員都屬于某個(gè)具體的類型,可以象普通變量一樣,對(duì)它進(jìn)行同類變量所允許的任何操作。(2)向函數(shù)傳遞結(jié)構(gòu)體變量

把結(jié)構(gòu)體變量作為一個(gè)整體傳遞給函數(shù),要求函數(shù)的形參也屬于相同的結(jié)構(gòu)體類型。這時(shí)傳遞的是實(shí)參結(jié)構(gòu)體變量的值,系統(tǒng)將為相同結(jié)構(gòu)類型體的形參開辟相應(yīng)的存儲(chǔ)單元,并將實(shí)參中各成員的值賦給對(duì)應(yīng)的形參成員。

(3)傳遞結(jié)構(gòu)體的地址

結(jié)構(gòu)體指針做函數(shù)實(shí)參,對(duì)應(yīng)形參應(yīng)該是一個(gè)基類型相同的結(jié)構(gòu)指針。討論結(jié)構(gòu)體地址作為函數(shù)參數(shù)的好處四、結(jié)構(gòu)體指針與鏈表鏈表的特點(diǎn)是將數(shù)據(jù)存儲(chǔ)在位置任意的結(jié)構(gòu)體存儲(chǔ)塊中,用結(jié)構(gòu)體指針將這些存儲(chǔ)塊連接在一起,從第一個(gè)存儲(chǔ)塊順著指針可以訪問(wèn)到所有的數(shù)據(jù)。鏈表中的每一個(gè)存儲(chǔ)塊叫一個(gè)結(jié)點(diǎn)。實(shí)現(xiàn)鏈表需要使用結(jié)構(gòu)體指針和動(dòng)態(tài)存儲(chǔ)管理機(jī)制。鏈表示意:鏈表實(shí)現(xiàn)結(jié)點(diǎn)類型構(gòu)造的討論:指向本結(jié)點(diǎn)類型的指針是實(shí)現(xiàn)鏈表的基礎(chǔ)structnode{intdata;

structnode*next;};

動(dòng)態(tài)內(nèi)存分配一、為什么用動(dòng)態(tài)內(nèi)存分配在我們未學(xué)習(xí)鏈表的時(shí)候,如果要存儲(chǔ)數(shù)量比較多的同類型或同結(jié)構(gòu)的數(shù)據(jù)的時(shí)候,總是使用一個(gè)數(shù)組。比如說(shuō)我們要存儲(chǔ)一個(gè)班級(jí)學(xué)生的某科分?jǐn)?shù),總是定義一個(gè)float型數(shù)組:floatscore[30];但是,在使用數(shù)組的時(shí)候,總有一個(gè)問(wèn)題困擾著我們:數(shù)組應(yīng)該有多大?

在很多的情況下,你并不能確定要使用多大的數(shù)組,比如上例,你可能并不知道該班級(jí)的學(xué)生的人數(shù),那么你就要把數(shù)組定義得足夠大。這樣,你的程序在運(yùn)行時(shí)就申請(qǐng)了固定大小的你認(rèn)為足夠大的內(nèi)存空間。即使你知道該班級(jí)的學(xué)生數(shù),但是如果因?yàn)槟撤N特殊原因人數(shù)有增加或者減少,你又必須重新去修改程序,擴(kuò)大數(shù)組的存儲(chǔ)范圍。這種分配固定大小的內(nèi)存分配方法稱之為靜態(tài)內(nèi)存分配。但是這種內(nèi)存分配的方法存在比較嚴(yán)重的缺陷,特別是處理某些問(wèn)題時(shí):在大多數(shù)情況下會(huì)浪費(fèi)大量的內(nèi)存空間,在少數(shù)情況下,當(dāng)你定義的數(shù)組不夠大時(shí),可能引起下標(biāo)越界錯(cuò)誤,甚至導(dǎo)致嚴(yán)重后果。那么有沒有其它的方法來(lái)解決這樣的外呢體呢?有,那就是動(dòng)態(tài)內(nèi)存分配。所謂動(dòng)態(tài)內(nèi)存分配就是指在程序執(zhí)行的過(guò)程中動(dòng)態(tài)地分配或者回收存儲(chǔ)空間的分配內(nèi)存的方法。動(dòng)態(tài)內(nèi)存分配不象數(shù)組等靜態(tài)內(nèi)存分配方法那樣需要預(yù)先分配存儲(chǔ)空間,而是由系統(tǒng)根據(jù)程序的需要即時(shí)分配,且分配的大小就是程序要求的大小。從以上動(dòng)、靜態(tài)內(nèi)存分配比較可以知道動(dòng)態(tài)內(nèi)存分配相對(duì)于靜態(tài)內(nèi)存分配的特點(diǎn):1、不需要預(yù)先分配存儲(chǔ)空間;2、分配的空間可以根據(jù)程序的需要擴(kuò)大或縮小。二、如何實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存分配及其管理要實(shí)現(xiàn)根據(jù)程序的需要?jiǎng)討B(tài)分配存儲(chǔ)空間,就必須用到以下幾個(gè)函數(shù)1、malloc函數(shù)

malloc函數(shù)的原型為:void*malloc(unsignedintsize)其作用是:在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一個(gè)長(zhǎng)度為size的連續(xù)空間。其參數(shù)是一個(gè)無(wú)符號(hào)整形數(shù),返回值是一個(gè)指向所分配的連續(xù)存儲(chǔ)域的起始地址的指針。還有一點(diǎn)必須注意的是,當(dāng)函數(shù)未能成功分配存儲(chǔ)空間(如內(nèi)存不足)就會(huì)返回一個(gè)NULL指針。所以在調(diào)用該函數(shù)時(shí)應(yīng)該檢測(cè)返回值是否為NULL并執(zhí)行相應(yīng)的操作。下例是一個(gè)動(dòng)態(tài)分配的程序:#include<stdlib.h>main(){

intcount,*array;/*count是一個(gè)計(jì)數(shù)器,array是一個(gè)整型指針,也可以理解為指向一個(gè)整型數(shù)組的首地址*/

if((array=(int*)malloc(10*sizeof(int))

)==NULL)

{

printf("不能成功分配存儲(chǔ)空間。");

exit(1);

}

for(count=0;count〈10;count++)/*給數(shù)組賦值*/

array[count]=count;

for(count=0;count〈10;count++)/*打印數(shù)組元素*/

printf("%2d",array[count]);}上例中動(dòng)態(tài)分配了10個(gè)整型存儲(chǔ)區(qū)域,然后進(jìn)行賦值并打印。例中if((array=(int*)malloc(10*sizeof(int)))==NULL)語(yǔ)句可以分為以下幾步:1)分配10個(gè)整型的連續(xù)存儲(chǔ)空間,并返回一個(gè)指向其起始地址的整型指針2)把此整型指針地址賦給array3)檢測(cè)返回值是否為NULL2、f

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論