Time of Update: 2017-02-27
一、單鏈表的建立有了動態記憶體分配的基礎,要實現鏈表就不難了。所謂鏈表,就是用一組任意的儲存單中繼存放區線性表元素的一種資料結構。鏈表又分為單鏈表、雙向鏈表和迴圈鏈表等。我們先講講單鏈表。所謂單鏈表,是指資料接點是單向排列的。一個單鏈表結點,其結構類型分為兩部分:1、資料域:用來儲存本身資料2、鏈域或稱為指標域:用來儲存下一個結點地址或者說指向其直接後繼的指標。例:typedef struct node{char name[20];struct node
Time of Update: 2017-02-27
迭代器(iterator) 是一種指標類型, 也分const指標本身(地址) 和 const指標所指的值, 兩種情況;但是寫法和const內建指標有所不同;char * const 相當於 const container<>::iterator; 可以修改指標所指的值, 但不能修改指標的地址;const char * 相當於 container<>::const_iterator; 可以修改指標地址, 但不能修改指標所指的值;注意程式碼範例,
Time of Update: 2017-02-27
\n //換行\r //斷行符號\b //退格\f //換頁\t //水平定位字元\v //垂直定位字元\a //響聲\" //雙引號\' //單引號\x?? //用小寫 x 和兩位元字(十六進位數)表示一個字元\??? //用三位元字(八進位)表示一個字元例1:#include <stdio.h>int main(void){ printf("\"C++Builder\" 2009\n"); printf("\x41&
Time of Update: 2017-02-27
三、數組與指標數組與指標有密切的聯絡。數組名本身就是該數組的指標,反過來,也可以把指標看成一個數組,數組名和指標實質上都是地址, 但是指標是變數,可以作運算。而數組名是常量,不能進行運算。例如: main() { char s[30], *p; /*定義字元型數組和指標變數*/ p=s; /*指標p指向數組s的第一個元素s[0]的地址*/ . . . *(p+8); /*指標p指向數組s的第9個元素s[8]的地址*/ . . . } 由上例可以看出數組和指標有如下關係:
Time of Update: 2017-02-27
2. 陣列變數的賦值 (1) 整型數組和浮點數組的賦值 例如: main() { int m[2][2]; float n[3]; m[0][0]=0, m[0][1]=17, m[1][0]=21;/*數組元素賦值*/ n[0]=109.5, n[1]=-8.29, n[2]=0.7; . . . } (2)字串數組的賦值 例如: main() { char s[30]; strcpy(s, "Good News!"); /*給數組賦字串*/ . . . }
Time of Update: 2017-02-27
1.虛函數1.1虛函數的作用虛函數的作用是允許在衍生類別中重新定義與基 類同名的函數,並且可以通過基類指標或引用來訪問基類和衍生類別中的同名函數。class Time{ public: Time(int=0,int=0,int=0); void show(); protected: int hour; int min; int sec;};class LocalTime:public Time{ public:
Time of Update: 2017-02-27
4.5 變數的初始化和賦值一、變數的初始化 變數的初始化是指變數在被說明的同時賦給一個初值。Turbo C2.0中外部變數和靜態全程變數在程式開始處被初始化, 局部變數包括靜態局部變數是在進入定義它們的函數或複合陳述式時才作初始化。所有全程變數在沒有明確的初始化時將被自動清零,而局部變數和寄存器變數在未賦值前其值是不確定的。對於外部變數和靜態變數, 初值必須是常數運算式, 而自動變數和寄存器變數可以是任意的運算式,這個運算式可以包括常數和前面說明過的變數和函數。 1.
Time of Update: 2017-02-27
4.3 變數儲存類型 Turbo C2.0支援四種變數儲存類型。說明符如下: auto static extern register 下面分別來介紹。 一、auto auto稱為自動變數, 已在前面作了介紹, 這裡不再重複。 二、static static稱為靜態變數。根據變數的類型可以分為靜態局部變數和靜態全程變數。 1. 靜態局部變數 它與局部變數的區別在於: 在函數退出時, 這個變數始終存在, 但不能被其它函數使用, 當再次進入該函數時,
Time of Update: 2017-02-27
2.3 字元型(char) 加上不同的修飾符, 可以定義有符號和無符號兩種類型的字元型變數, 例如: char a: /*a被定義為有符號字元變數*/ unsigned char l; /*l被定義為無符號字元變數*/ 字元在電腦中以其ASCII碼方式表示, 其長度為1個位元組, 有符號字元型數取值範圍為-128~127, 無符號字元型數到值範圍是0~255。因此在Turbo C語言中,字元型資料在操作時將按整型數處理, 如果某個變數定義成char,則表明該變數是有符號的,
Time of Update: 2017-02-27
上一篇中提到了用樹形結構來分析運算式並計算求值的思路。但對程式來說,輸入的運算式只是一個字串而已。要將運算式表示成樹型結 構,首先必須可以將運算式分解成一個個節點,然後才可以由節點群組成樹。這裡將樹上的每一個節點稱之為記號對象TokenRecord。根據上面的分析得出,記號對象要求有一個儲存自身值的變數,有自己特定的計算方法,還要能知道其下級的值。由此可以得出
Time of Update: 2017-02-27
學習 C++
Time of Update: 2017-02-27
1.先來介紹它的第一條也是最重要的一條:隱藏。當我們同時編譯多個檔案時,所有未加static首碼的全域變數和函數都具有全域可見度。 為理解這句話,我舉例來說明。我們要同時編譯兩個源檔案,一個是a.c,另一個是 main.c.下面是a.c的內容:char a = 'A'; // global variablevoid msg(){printf("Hello\n");}下面是main.c的內容:int main(void){extern char a; // extern
Time of Update: 2017-02-27
CSC.exe把Visual C#程式碼編譯成IL檔案時,有著很多參數和開關選項。正確的瞭解和運用這些參數和開關有時會解決一些看似很棘手的問題。下面就通過一張表來大致說明一下這些參數和開關的具體作用。這些參數和開關選項是按照字母順序來排列的。其中帶"*",是一些常用的參數或開關。選項 用途 @ * 指定回應檔。 /?, /help 在控制台的電腦螢幕上顯示編譯器的選項 /addmodule 指定一個或多個模組為集會的一部分 /baseaddress指定裝入DLL的基礎地址 /
Time of Update: 2017-02-27
以任意角度旋轉映像樣本。實現任意角度旋轉映像主要使用Graphics類提供的RotateTransform()方法。代碼如下:private void button1_Click(objectsender,EventArgse){ //以任意角度旋轉顯示映像 Graphics g=this.panel1.CreateGraphics(); float MyAngle=0;//旋轉的角度 while(MyAngle<360) { TextureBrush
Time of Update: 2017-02-27
下面程式把一個浮點數組以二進位方式寫入檔案test_b.dat中。例14: #include <stdio.h> main() { float f[6]={3.2, -4.34, 25.04, 0.1, 50.56, 80.5}; /*定義浮點數組並初始化*/ int i; FILE *fp; fp=fopen("test_b.dat", "wb"); /*建立一個二進位檔案唯寫*/ fwrite(f, sizeof(float), 6,
Time of Update: 2017-02-27
C#開發WPF/Silverlight動畫及遊戲系列教程(Game Course):(十八) 完美精靈之八面玲瓏(WPF Only)②緊接著上一節,首先得解釋一下為什麼需要將這272張圖片合成為一張大圖。因為如果遊戲中還有裝備、坐騎等其他設定,那麼我們就需要對圖片源進行時時的合成;同時對272張甚至更多的圖片進行合成效率高還是對2張大圖進行合成效率高這是顯而易見的。在本節例子中,主角由身體(衣服)及武器兩個部分組成;因此,我們還需要定義一個交錯數組來儲存已經載入的角色裝備合成圖到記憶體中:///
Time of Update: 2017-02-27
使用.NET編寫winform程式,比較常見的一種情況就是如何?Form間的資料互動,下面就簡單總結一下常見的幾種資料互動方式:1、修改子表單的建構函式:簡單地說就是通過修改子表單Form的建構函式,如下所示:public Frm_Child(string Para1, ArrayList List1, TextBox textBox1, Form. Frm_Main){InitializeComponent();}上面的例子中,為子表單Frm_Child添加了4個參數,分別是:字串Para1,
Time of Update: 2017-02-27
/// <summary>/// 使用byte[]資料,產生256色灰階 BMP 位元影像/// </summary>/// <param name="originalImageData"></param>/// <param name="originalWidth"></param>/// <param
Time of Update: 2017-02-27
在C++中,要定義一個常量,有兩種主要的做法1.符號常量(#define)2.常值變數(const)符號常量的定義方式,其實與C++本身沒有關係,它是一個編譯器指令,或者稱為預先處理指令(有關的預先處理指令還有#include,#ifdefine等等)。它的用法如下#define PI 3.1415926這樣的文法就定義了一個叫做PI的符號常量,它的值指定為3.1415926.【注意】因為它其實不是C++文法,所以它不需要(也不能)用分號結束。我們怎麼使用呢#include
Time of Update: 2017-02-27
本文詳細解釋了如何在C++Builder中使用全域變數。作者:yifei(尹加俊)信箱:yifei1900@163.com如何在C++Builder中使用全域變數?(1).如果我在一個公用的標頭檔中定義一個變數,在其它單元中可以直接使用它嗎?如下: //--------------------------------Globals.h---------------------------------- #ifndef GlobalsH #define GlobalsH //----