C語言程序的調(diào)試(實驗)_第1頁
C語言程序的調(diào)試(實驗)_第2頁
C語言程序的調(diào)試(實驗)_第3頁
C語言程序的調(diào)試(實驗)_第4頁
C語言程序的調(diào)試(實驗)_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、使用使用VC+6.0VC+6.0調(diào)試程序調(diào)試程序調(diào)試程序v調(diào)試運行v單步跟蹤v單步跳進跟蹤v觀察自動變量v觀察其他變量v停止調(diào)試v1:打開jiecheng項目(雙擊jiecheng.dsw文件)v2:build該項目,確定程序可以運行v3:調(diào)試運行階乘程序v4:設(shè)置斷點v5:再次調(diào)試運行程序v6:使用單步執(zhí)行程序到結(jié)束1:打開jiecheng項目2:Build該項目,確定程序可以運行3:調(diào)試運行階乘程序Go4:設(shè)置斷點v將鼠標停留在程序的第8行,在第8行的任意地方單擊鼠標左鍵(第8行即“i = i*4;”)v在工具欄上選擇 按鈕,為第8行設(shè)置斷點,以便讓程序在此處暫停運行5:再次調(diào)試運行階乘程

2、序v注意觀察,現(xiàn)在調(diào)試運行程序會如何?Go5:再次調(diào)試運行階乘程序(續(xù))程序暫停之處調(diào)試(Debug)工具:控制程序前進步伐查看程序當(dāng)前狀態(tài)6:使用單步執(zhí)行到程序結(jié)束v設(shè)置斷點以后,調(diào)試運行程序時,程序開始執(zhí)行,并且運行到斷點處暫停下來,此時我們有機會觀察程序的運行情況,并且診斷程序目前的狀態(tài)是否如我們所預(yù)期的那樣。v不過我們先不著急觀察程序的狀態(tài),而是來看看如何控制程序的運行,以便在我們需要的時候讓程序暫停下來,并且以我們需要的方式走走停停!6:使用單步執(zhí)行到程序結(jié)束v程序停下來了,如何讓程序從暫停的地方繼續(xù)向前執(zhí)行?v方法是使用單步執(zhí)行手段(Step Over)讓程序向前走一步停止調(diào)試停止

3、調(diào)試并重新啟動調(diào)試單步執(zhí)行當(dāng)前位置熟悉調(diào)試工具欄和菜單(只在調(diào)試運行時出現(xiàn))對比調(diào)試運行時出現(xiàn)的調(diào)試菜單“Debug”和調(diào)試工具欄,根據(jù)圖標查找對應(yīng)項觀察自動變量自動變量觀察變量的值及其隨程序運行時的變化情況v設(shè)置斷點,調(diào)試運行程序,此時程序暫停在斷點處等待v選擇Debug菜單,找到最后一項“Quick Watch”并點擊輸入想要觀察的變量變量名變量的值點擊Add Watch點擊Add watch,看到如下畫面調(diào)試觀察每一步驟變量i的值v點擊單步執(zhí)行按鈕或者菜單,程序則向前單獨運行一個步驟v每向前執(zhí)行一步,就會暫停下來,這樣我們就有充足的時間觀察所關(guān)心的變量名稱v觀察變量i的值的情況注意在調(diào)試

4、過程中v斷點不能設(shè)置在空白行上面v添加斷點和刪除斷點的方法一樣v一個程序中可以設(shè)置多個斷點v按下F5鍵可以讓程序從當(dāng)前位置向前執(zhí)行,直到遇見下一個斷點或者程序結(jié)束相關(guān)C語言基礎(chǔ)知識指針:結(jié)構(gòu)體:指針新建新建Visual C+程序程序四、利用已有的程序編寫新程序四、利用已有的程序編寫新程序無論是控制臺程序,或者是無論是控制臺程序,或者是Windows窗口程序,窗口程序,Visual C+都會要求有對都會要求有對應(yīng)的項目文件。而且在大多數(shù)情況下,應(yīng)的項目文件。而且在大多數(shù)情況下,C程序的基本框架都是一致的,例程序的基本框架都是一致的,例如:都有主函數(shù)等等。所以在編寫一個新的程序時,可以利用以前編寫

5、過如:都有主函數(shù)等等。所以在編寫一個新的程序時,可以利用以前編寫過的程序,其操作方法有兩種。的程序,其操作方法有兩種。(1)程序復(fù)用操作)程序復(fù)用操作將已有的程序復(fù)用到新程序上的方法很簡單,就是將程序內(nèi)容通過將已有的程序復(fù)用到新程序上的方法很簡單,就是將程序內(nèi)容通過“復(fù)制復(fù)制粘貼粘貼”實現(xiàn)。實現(xiàn)。(2)項目復(fù)用操作)項目復(fù)用操作打開已有的項目文件,將原來的文件刪除,利用項目管理增加新程序文件打開已有的項目文件,將原來的文件刪除,利用項目管理增加新程序文件或資源元素等?;蛸Y源元素等。 新建新建Visual C+程序程序五、項目管理五、項目管理無論項目是否建立,只要開始程序的編譯、鏈接、運行或調(diào)試

6、過程,無論項目是否建立,只要開始程序的編譯、鏈接、運行或調(diào)試過程,Visual C+就會按項目管理方式進行控制。就會按項目管理方式進行控制。例如:當(dāng)使用文件新建方式建立一個源程序文件后,只要開始編譯則例如:當(dāng)使用文件新建方式建立一個源程序文件后,只要開始編譯則Visual C+會自動提示創(chuàng)建項目。會自動提示創(chuàng)建項目。 新建新建Visual C+程序程序地址和指針的概念地址和指針的概念一、指針概述:一、指針概述:1 1、“&” &” :地址運算符:地址運算符2. “2. “* *” ” :指針運算符,取其指向的:指針運算符,取其指向的內(nèi)容內(nèi)容: exp:exp: &a:

7、&a: 變量變量a a的地址:的地址: * *p: p: 變量變量p p的內(nèi)容;的內(nèi)容; 注:注: “ “&” &” 不能施加在常數(shù),常量和表達式上;不能施加在常數(shù),常量和表達式上;二、指針變量:二、指針變量: 存放某種變量地址的變量稱為指針存放某種變量地址的變量稱為指針變量。變量。 1035.ab20102012p2010q2012因此,在因此,在C語言中,將地語言中,將地址形象化地稱為址形象化地稱為指針指針定義一個指針變量定義一個指針變量指針變量的定義一般形式為:指針變量的定義一般形式為:基類型基類型*指針變量名指針變量名;例如:例如:int i, j, int i

8、, j, * *pi, pi, * *pj;pj; float x, y, float x, y, * *p1, p1, * *p2;p2;指針變量的賦值:使得指針變量指向變量指針變量的賦值:使得指針變量指向變量指針變量名指針變量名& &變量名變量名; ;如:如: pi=&i; pj=&j; p1=&y; p2=&x;pi=&i; pj=&j; p1=&y; p2=&x;注意:指針變量只能存放指針(地址),且只能是相同類型變量的地址。注意:指針變量只能存放指針(地址),且只能是相同類型變量的地址。例如,指針變量例如

9、,指針變量pipi、pjpj,只能接收,只能接收intint型、型、p1, p2p1, p2只能接收只能接收floatfloat型的地址,型的地址,否則出錯否則出錯。結(jié)構(gòu)體指針變量的引用在程序中,可以用:在程序中,可以用:*指針變量名代替其所指變量。指針變量名代替其所指變量。如若如若:int i, *p; p=&i;則則 i=5;與與*p=5;的作用相同,即可用的作用相同,即可用*p代替代替i,這里這里*號稱為指號稱為指針運算符(或稱為間接訪問運算符)針運算符(或稱為間接訪問運算符)指針變量作為函數(shù)參數(shù)實參:變量地址或已賦值的指針變量,形參:指針變量實參:變量地址或已賦值的指針變量,形

10、參:指針變量功能:地址傳送方式,會將改變后的值帶回。功能:地址傳送方式,會將改變后的值帶回。例例10.3通過函數(shù)調(diào)用實現(xiàn)例通過函數(shù)調(diào)用實現(xiàn)例10.2的功能。的功能。swap(int *p1, int *p2)int temp;temp=*p1; *p1=*p2; *p2=temp;main()int a, b, *pointer1,*pointer2;scanf(%d%d,&a,&b);pointer1=&a; pointer2=&b;if(ab) swap(&a,&b);printf(n%d,%d,a,b);數(shù)組與指針1.1.概念概念數(shù)組的指針

11、數(shù)組的指針數(shù)組在內(nèi)存中的起始地址,用數(shù)組在內(nèi)存中的起始地址,用數(shù)組名表示數(shù)組名表示2.2.指向數(shù)組的指針變量指向數(shù)組的指針變量-賦于數(shù)組名的指針變賦于數(shù)組名的指針變量量例如,例如,int a 10, int a 10, * *p=a (p=a (或或* *p=&a0);p=&a0);或者:或者: int a 10, int a 10, * *p;p; p pa;a;3.3.通過指針引用數(shù)組元素通過指針引用數(shù)組元素如果有如果有“int a 10,int a 10,* *p=a;” p=a;” ,則:,則:(1 1)p+i=a+i=&aip+i=a+i=&ai。 (

12、2 2)* *(p+i)=(p+i)=* *(a+i)=ai(a+i)=ai。(3 3)pipi* *(p+i)(p+i)aiai。注意注意:p+1p+1指向數(shù)組的下一個元素,而不是簡單指向數(shù)組的下一個元素,而不是簡單地 使 指 針 變 量地 使 指 針 變 量 p p 的 值的 值 + 1+ 1 。 其 實 際 變 化 為。 其 實 際 變 化 為p+1p+1* *size(sizesize(size為一個元素占用的字節(jié)數(shù))。為一個元素占用的字節(jié)數(shù))。例如,假設(shè)指針變量例如,假設(shè)指針變量p p的當(dāng)前值為的當(dāng)前值為30003000,則,則p+1p+1為為3000+13000+1* *2=300

13、22=3002,而不是,而不是30013001用數(shù)組名作為函數(shù)參數(shù)用數(shù)組名作為函數(shù)參數(shù)形參:數(shù)組或指針變量形參:數(shù)組或指針變量實參:數(shù)組名或指向數(shù)組的指針變量實參:數(shù)組名或指向數(shù)組的指針變量傳遞方式:地址傳送方式傳遞方式:地址傳送方式作用:若函數(shù)中對數(shù)組作了修改,則調(diào)用作用:若函數(shù)中對數(shù)組作了修改,則調(diào)用函數(shù)中的數(shù)組也會作同樣的修改函數(shù)中的數(shù)組也會作同樣的修改指向函數(shù)的指針指向函數(shù)的指針1.1.函數(shù)指針的概念函數(shù)指針的概念一個函數(shù)在編譯時,被分配了一個入口地址,一個函數(shù)在編譯時,被分配了一個入口地址,這個地址就稱為該函數(shù)的指針。這個地址就稱為該函數(shù)的指針??梢杂靡粋€指針變量指向一個函數(shù),然后通

14、過可以用一個指針變量指向一個函數(shù),然后通過該指針變量調(diào)用此函數(shù)。該指針變量調(diào)用此函數(shù)。 2.2.指向函數(shù)的指針變量指向函數(shù)的指針變量 (1 1)定義格式)定義格式 函數(shù)類型函數(shù)類型 ( (* *指針變量指針變量)( )( ); 注意:注意:“* *指針變量指針變量”外的括號不能缺,否則外的括號不能缺,否則成了返回指針值的函數(shù)。成了返回指針值的函數(shù)。 例如,例如,int (int (* *fp)(); /fp)(); /* * fp fp為指向為指向intint函數(shù)的指針變量函數(shù)的指針變量* */ /(2 2)賦值)賦值 函數(shù)名代表該函數(shù)的入口地址。因此,可函數(shù)名代表該函數(shù)的入口地址。因此,可用

15、函數(shù)名給指向函數(shù)的指針變量賦值。用函數(shù)名給指向函數(shù)的指針變量賦值。 指向函數(shù)的指針變量指向函數(shù)的指針變量&函數(shù)名函數(shù)名; ; 注意:函數(shù)名后不能帶括號和參數(shù);函注意:函數(shù)名后不能帶括號和參數(shù);函數(shù)名前的數(shù)名前的“&”&”符號是可選的。符號是可選的。(3)調(diào)用格式調(diào)用格式 (*函數(shù)指針變量函數(shù)指針變量)(實參表實參表)3.指向函數(shù)的指針變量作函數(shù)參數(shù)指向函數(shù)的指針變量作函數(shù)參數(shù) 指向函數(shù)的指針變量的常用用途之一,就是將函數(shù)指針作指向函數(shù)的指針變量的常用用途之一,就是將函數(shù)指針作參數(shù),傳遞到其它函數(shù)。參數(shù),傳遞到其它函數(shù)。 注意:對指向函數(shù)的指針變量,諸如注意:對指向函數(shù)的

16、指針變量,諸如p+i、p+/p-等運算是等運算是沒有意義的。沒有意義的。例例10.24 設(shè)有一個函數(shù)設(shè)有一個函數(shù)process,在調(diào)用它時,每次實現(xiàn)不同的功,在調(diào)用它時,每次實現(xiàn)不同的功能。輸入能。輸入a和和b兩個數(shù),第一次調(diào)用時找出兩個數(shù),第一次調(diào)用時找出a與與b中的大者,第中的大者,第 二次找出小者,第三次求和。二次找出小者,第三次求和。#includevoid main()int max(int,int);int min(int,int);int add(int,int);int process(int, int, int (*fun)();int a,b;printf(enter a

17、and b:);scanf(%d%d,&a,&b);printf(nmax=);process(a,b,max);printf(nmin=);process(a,b,min);printf(nsum=);process(a,b,add);max(int x, int y)return xy?x:y;min(int x, int y)return xy?y:x;add(int x, int y)return x+y;process(int x, int y, int (*fun)(int,int) /*fun是一個指向函數(shù)是一個指向函數(shù)的指針,該函數(shù)是一個有兩個整型參數(shù)的返回整型

18、值的函數(shù)的指針,該函數(shù)是一個有兩個整型參數(shù)的返回整型值的函數(shù)*/int result;result=(*fun)(x,y);printf(%dn,result);返回指針值的函數(shù)返回指針值的函數(shù)一個函數(shù)可以返回一個一個函數(shù)可以返回一個intint型、型、floatfloat型、型、charchar型的數(shù)據(jù),也可以返回一個指針類型的數(shù)型的數(shù)據(jù),也可以返回一個指針類型的數(shù)據(jù)。據(jù)。 返回指針值的函數(shù)(簡稱指針函數(shù))的定返回指針值的函數(shù)(簡稱指針函數(shù))的定義格式如下:義格式如下: 函數(shù)類型函數(shù)類型 * *函數(shù)名函數(shù)名( (形參表列形參表列) )例如:例如:int int * *a(int x,int

19、y);a(int x,int y);該函數(shù)的函數(shù)名為該函數(shù)的函數(shù)名為a a,返回的是一個整型的指針。,返回的是一個整型的指針。指針數(shù)組指針數(shù)組指針數(shù)組的概念指針數(shù)組的概念 數(shù)組的每個元素都是一個指針數(shù)據(jù)。指針數(shù)數(shù)組的每個元素都是一個指針數(shù)據(jù)。指針數(shù)組比較適合用于指向多個字符串,使字符串處理組比較適合用于指向多個字符串,使字符串處理更加方便、靈活。更加方便、靈活。 數(shù)據(jù)類型數(shù)據(jù)類型 * *數(shù)組名數(shù)組名 元素個數(shù)元素個數(shù) 例如:例如: int int * *p4; char p4; char * *string10;string10;p指向數(shù)組a易混淆的問題v*p+,*p(+),*(+p),(*p

20、)v設(shè)P指向a數(shù)組中的第i個元素: *(p-)=ai-; *(-p)=a-i; *(+p)=a+i.結(jié)結(jié) 構(gòu)構(gòu) 體體例:例:描述一個學(xué)生的姓名、學(xué)號、性別、年齡。描述一個學(xué)生的姓名、學(xué)號、性別、年齡。每個學(xué)生都有這樣的屬性,它們構(gòu)成一個描述學(xué)生具體情每個學(xué)生都有這樣的屬性,它們構(gòu)成一個描述學(xué)生具體情況的一個整體。而每個屬性又是一個基本的類型,本例中況的一個整體。而每個屬性又是一個基本的類型,本例中可分別用字符數(shù)組、長整型、字符型、和整型來描述。可分別用字符數(shù)組、長整型、字符型、和整型來描述。一、結(jié)構(gòu)體類型的定義一、結(jié)構(gòu)體類型的定義結(jié)構(gòu)體概念的引入結(jié)構(gòu)體概念的引入數(shù)據(jù)的描述:數(shù)據(jù)的描述:基本類型

21、基本類型:整型、實型、字符型。:整型、實型、字符型。數(shù)組數(shù)組:屬于同一種類型的元素的集合。:屬于同一種類型的元素的集合。有時,需要用不同的數(shù)據(jù)類型來描述一個事物的各方面屬性,有時,需要用不同的數(shù)據(jù)類型來描述一個事物的各方面屬性,故此,故此,C語言引入了語言引入了結(jié)構(gòu)體結(jié)構(gòu)體的概念。的概念。struct struct 結(jié)構(gòu)體類型名結(jié)構(gòu)體類型名 類型標識符類型標識符 成員名成員名1 1; 類型標識符類型標識符 成員名成員名2 2; 類型標識符類型標識符 成員名成員名n n;;結(jié)構(gòu)體類型的定義結(jié)構(gòu)體類型的定義如:如:struct student struct student char name10;

22、 char name10; long id; long id; char gender; char gender; int age; int age; 注意:注意: struct student struct student 應(yīng)作為一個類型整體,應(yīng)作為一個類型整體, name10name10、idid、gendergender、ageage都是其成員。都是其成員。 structstruct及花括號后的及花括號后的“;”不能省。不能省。定義結(jié)構(gòu)體類型,定義結(jié)構(gòu)體類型, 描述下列數(shù)據(jù)描述下列數(shù)據(jù) struct studentstruct student int no int no; / /* *學(xué)

23、號學(xué)號* */ / char namechar name1010; / /* *姓名姓名* */ / char sexchar sex; / /* *性別性別* */ / int ageint age; / /* *年齡年齡* */ / float score10float score10; / /* *成績成績* */ / ;結(jié)構(gòu)體類型的舉例結(jié)構(gòu)體類型的舉例(1) (1) 學(xué)生情況學(xué)生情況: : 包含學(xué)生的學(xué)號、包含學(xué)生的學(xué)號、 姓名、姓名、 性別、性別、 年齡、年齡、1010門課程成績:門課程成績:結(jié)構(gòu)體類型可以嵌套定義結(jié)構(gòu)體類型可以嵌套定義 即一個結(jié)構(gòu)體類型中的某些成員又是其他結(jié)構(gòu)體類型

24、即一個結(jié)構(gòu)體類型中的某些成員又是其他結(jié)構(gòu)體類型注意注意例如,對已定義的結(jié)構(gòu)體類型例如,對已定義的結(jié)構(gòu)體類型struct student struct student ,可以定義結(jié)構(gòu)體,可以定義結(jié)構(gòu)體變量:變量: struct student zhang ,stu1struct student zhang ,stu1; 二、結(jié)構(gòu)體變量二、結(jié)構(gòu)體變量結(jié)構(gòu)體變量的定義結(jié)構(gòu)體變量的定義1.1.先定義結(jié)構(gòu)體類型,先定義結(jié)構(gòu)體類型, 再定義結(jié)構(gòu)體變量再定義結(jié)構(gòu)體變量格式:格式: struct struct 結(jié)構(gòu)體名結(jié)構(gòu)體名 結(jié)構(gòu)體變量名表;結(jié)構(gòu)體變量名表;三種方法:三種方法:2.2.在定義結(jié)構(gòu)體類型的同時

25、定義變量在定義結(jié)構(gòu)體類型的同時定義變量例如:例如:struct studentstruct student char name10; char name10; char sex; char sex; int age; int age; float score; float score; stu1,stu2; stu1,stu2;格式:格式: struct struct 結(jié)構(gòu)體類型名結(jié)構(gòu)體類型名 類型標識符類型標識符 成員名成員名1 1; 類型標識符類型標識符 成員名成員名2 2; 類型標識符類型標識符 成員名成員名n n; 變量名表變量名表; ;3. 3. 用匿名形式直接定義結(jié)構(gòu)體類型變量(不

26、出現(xiàn)結(jié)構(gòu)體名)用匿名形式直接定義結(jié)構(gòu)體類型變量(不出現(xiàn)結(jié)構(gòu)體名)例如:例如:structstruct char name10; char name10; char sex; char sex; int age; int age; float score; float score; stu1,stu2; stu1,stu2;格式:格式:structstruct 類型標示符類型標示符 成員名成員名1 1; 類型標示符類型標示符 成員名成員名2 2; 類型標示符類型標示符 成員名成員名n n; 變量名表變量名表; ;(1 1)類型與變量是不同的概念,不要混同。對結(jié)構(gòu)體變量來說,在定)類型與變量是不同

27、的概念,不要混同。對結(jié)構(gòu)體變量來說,在定義時一般先定義一個結(jié)構(gòu)體類型,然后定義變量為該類型。只能對變量義時一般先定義一個結(jié)構(gòu)體類型,然后定義變量為該類型。只能對變量賦值、存取或運算,而不能對一個類型賦值、存取或運算。在編譯時,賦值、存取或運算,而不能對一個類型賦值、存取或運算。在編譯時,對類型是不分配存儲空間的,只對變量分配存儲空間。對類型是不分配存儲空間的,只對變量分配存儲空間。(2 2)對結(jié)構(gòu)體中的成員,可以單獨使用,它的作用相當(dāng)于普通變量。)對結(jié)構(gòu)體中的成員,可以單獨使用,它的作用相當(dāng)于普通變量。(3 3)成員也可以是一個結(jié)構(gòu)體變量。)成員也可以是一個結(jié)構(gòu)體變量。(4 4)成員名可與程序

28、中的變量同名,兩者不代表同一對象。)成員名可與程序中的變量同名,兩者不代表同一對象。 結(jié)構(gòu)體的說明結(jié)構(gòu)體的說明例。定義結(jié)構(gòu)體變量例。定義結(jié)構(gòu)體變量stu1: stu1: struct student stu1; struct student stu1; stu1.age=20; stu1.age=20; scanf(%f,&stu1.score); scanf(%f,&stu1.score);stu1.age stu1.age 表示引用結(jié)構(gòu)體變量表示引用結(jié)構(gòu)體變量stu1stu1中的中的ageage成員,因該成員的成員,因該成員的類型為類型為intint型,所以可以對它執(zhí)行任何

29、型,所以可以對它執(zhí)行任何intint型變量可以執(zhí)行的運型變量可以執(zhí)行的運算。算。結(jié)構(gòu)體變量的使用結(jié)構(gòu)體變量的使用結(jié)構(gòu)體變量一般不整體引用,而是引用其成員變量。結(jié)構(gòu)體變量一般不整體引用,而是引用其成員變量。成員變量引用格式成員變量引用格式結(jié)構(gòu)體變量名結(jié)構(gòu)體變量名. .成員名成員名其中的圓點運算符稱為成員運算符,它的運算級別是最高的。其中的圓點運算符稱為成員運算符,它的運算級別是最高的。(1) (1) 結(jié)構(gòu)體類型變量的各成員(分量)必須單獨引用結(jié)構(gòu)體類型變量的各成員(分量)必須單獨引用, ,成員運算符成員運算符“”具有最高優(yōu)先級。具有最高優(yōu)先級。(2) (2) 不允許對結(jié)構(gòu)體變量進行整體的輸入輸出

30、不允許對結(jié)構(gòu)體變量進行整體的輸入輸出 如:如:scanf(“%s%c%d%f”,&stu1); scanf(“%s%c%d%f”,&stu1); (3) (3) 如果結(jié)構(gòu)體變量類型相同,可以互相賦值。如果結(jié)構(gòu)體變量類型相同,可以互相賦值。 stu1=stu2; stu1=stu2; (4) (4) 嚴格區(qū)分類型與變量的概念。嚴格區(qū)分類型與變量的概念。 (5) (5) 如果結(jié)構(gòu)體成員本身又是結(jié)構(gòu)體類型的,則可繼續(xù)使用成員運算如果結(jié)構(gòu)體成員本身又是結(jié)構(gòu)體類型的,則可繼續(xù)使用成員運算符取結(jié)構(gòu)體成員的結(jié)構(gòu)體成員,逐級向下,引用最低一級的成員。程符取結(jié)構(gòu)體成員的結(jié)構(gòu)體成員,逐級向下,引用

31、最低一級的成員。程序只能對最低一級的成員進行運算。例如,對序只能對最低一級的成員進行運算。例如,對stu1stu1某些成員的訪問:某些成員的訪問: stu1.birthday.day=23stu1.birthday.day=23; stu1.birthday.month=8stu1.birthday.month=8; stu1.birthday.year=1985stu1.birthday.year=1985; 說明說明結(jié)構(gòu)體變量的初始化結(jié)構(gòu)體變量的初始化結(jié)構(gòu)體變量可以在定義時初始化。結(jié)構(gòu)體變量可以在定義時初始化。格式格式struct struct 結(jié)構(gòu)體名結(jié)構(gòu)體名 成員表;成員表; 結(jié)構(gòu)體變量結(jié)構(gòu)體變量=初始化數(shù)據(jù)表初始化數(shù)據(jù)表 ;例例 struct studentstruct student char name10; ch

溫馨提示

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

最新文檔

評論

0/150

提交評論