Time of Update: 2018-12-03
如果你打定了要學好C語言,那麼請看下面的方法吧,雖然我學習C語言的時候沒有用上,但是現在學習新知識新技術的時候很管用──不管學的是什麼。因此大家可以試試,或許還有比這些方法更有效方法,不妨也寫出來交流交流。實際上我這裡是想教大家怎麼面對一個新事物,並用有效辦法學習之。適用面還是相當廣的,不單是“令人討厭的”C語言,必要的時候自己開動腦筋將方法“移植”到其他學習當中去。
Time of Update: 2018-12-03
有很多同學問過我,我們現在為什麼還要學習C語言,C語言不是已經過時了嗎? 很早以前,我也是這麼想的,甚至在寫《如何學習C語言》的時候也依稀存在著這種心理,以為只有能寫出使用者介面才能稱為編程,因此為了寫使用者介面而學了不少語言(似乎是不少了,可惜沒有一個精通的)。現在可不這麼想了,尤其我用上了Linux作業系統(一種類UNIX的作業系統,自由免費)。Linux下大有C語言的用武之地,絕大多數的應用軟體都是用C語言寫的,包括圖形介面。也就是說C語言幾乎是萬能的!
Time of Update: 2018-12-03
DEV C++一直被認為不能使用TC的圖形庫Borland Graphics Interface(BGI)。誠然,由於MS-DOS和Win32程式對於圖形的處理方式不同,所以16位的BGI不能夠在諸如VC和DEV C++這樣的Windows開發工具中使用,但是現在有了替代BGI的名為 WinBGIm的庫,為我們解決了Windows環境下學習DOS圖形編程的問題。這裡不談其實際意義,只講方法。以DEV C++為例,在Update中下載一個叫做“Console
Time of Update: 2018-12-03
首先, C++中的explicit關鍵字只能用於修飾只有一個參數的類建構函式, 它的作用是表明該建構函式是顯示的, 而非隱式的, 跟它相對應的另一個關鍵字是implicit, 意思是隱藏的,類建構函式預設情況下即聲明為implicit(隱式).那麼顯示聲明的建構函式和隱式聲明的有什麼區別呢? 我們來看下面的例子:class CxString // 沒有使用explicit關鍵字的類聲明, 即預設為隱式聲明{public: char *_pstr; int _size;
Time of Update: 2018-12-03
DIRECTX GRAPHICS C/C++教程(一) 作者:未知DIRECTX GRAPHICS C/C++教程 譯自(c)Microsoft DirectX SDK Documentation 譯者:A.R.T ,FrontFree.net本文不是為商業目的而作;文中任何常式代碼均屬Microsoft著作權。 這一部分的教程將展示如何在應用程式中使用Microsoft
Time of Update: 2018-12-03
關於判定一位程式員是否合格(暫且把所有寫程式的人都叫做程式員),我們提出了修養的概念。“修養”是要修鍊的,你不妨也去武當山、峨嵋山去打坐打坐,回來也可以教教我,我很羨慕那些身手不凡的大俠的。
Time of Update: 2018-12-03
Time of Update: 2018-12-03
最基本的法則莫過於 Knuth 的《電腦程式設計藝術》(The art of computer programming)所提到的幾條特性(Knuth是全球公認的演算法高手,TeX排版系統的締造者,也是名駭客,所以也請記住他): 1.確定性:你寫的程式必須有確切的定義,即每種運算應該執行何種運作是必須是清楚的、無二義性的。你不可以讓你的程式輸入是3+5,而輸出則一會兒是8,一會兒是9;
Time of Update: 2018-12-03
在C語言中,static 具有的兩重意義: (1) 如果 static int foo; 這一句位於函數中,則 static 表示的是儲存屬性,表明 foo 是一個靜態變數。放在靜態儲存區,只佔一份空間。它的生存周期和程式一樣長。 (2) 如果 static int foo; 這一句位於函數外面,則 foo 是一個全域變數,static 不再是表示儲存性質,而是作為限制符來使用:用來限制全域變數 foo 的可見範圍,將其範圍限制於所在的檔案內,在其它檔案中是不可見的。 static void
Time of Update: 2018-12-03
談談C++繼承中的重載,覆蓋和隱藏 寫正題之前,先給出幾個關鍵字的中英文對照,重載(overload),覆蓋(override),隱藏(hide)。在早期的C++書籍中,可能翻譯的人不熟悉專業用語(也不能怪他們,他們不是搞電腦編程的,他們是英語專業的),常常把重載(overload)和覆蓋(override)搞錯! 我們先來看一些代碼及其編譯結果。 執行個體一: #include "stdafx.h" #include <iostream.h> class
Time of Update: 2018-12-03
Why Smart Pointer?為什麼需要智能指標?因為c++的記憶體管理一直是個令人頭疼的問題。假如我們有如下person對象:每個person有自己的名字,並且可以告訴大家他叫什麼名字:////a person who can tell us his/her name.//#include<iostream>#include<string>using namespace std;class person{public:person(string);void
Time of Update: 2018-12-03
動態記憶體分配即分配記憶體大小在運行時才確定,一般在堆中分配。C語言動態記憶體分配相關的函數。malloc #include <stdlib.h>void * malloc (size_t
Time of Update: 2018-12-03
【1】C語言字串處理函數 http://blog.csdn.net/ruizeng88/article/details/6677736 【2】【經典面試題】尋找單鏈表倒數第n個節點 http://blog.csdn.net/ruizeng88/article/details/6700727 【3】【經典面試題】翻轉單鏈表 http://blog.csdn.net/ruizeng88/article/details/6695220 【4】16道經典面試題及回答思路
Time of Update: 2018-12-03
v8是一個強大的js虛擬機器,json是js的內建資料格式。json常用於程式配置和網路資訊傳輸。例子有些殺雞用牛刀的感覺,大家就當一個體驗吧。在win7上編譯v8的過程可以參考這個,或者v8的官方doc。http://blog.csdn.net/wuzh1230/article/details/7919932主要步驟:載入json配置(可以從檔案讀取,utf-8格式),編譯,執行,編譯配置項運算式,執行,提取配置項的值。#include <v8.h>using namespace
Time of Update: 2018-12-03
c++的抽象類別可以作為介面,實現事件回調等機制.介面實現檔案IDemoImpl.cpp#include <stdio.h>#include "IDemo.h"IDemo::IDemo(){}IDemo::~IDemo(){}class CDemoImpl : public IDemo{public:CDemoImpl(){};~CDemoImpl(){};public:virtual int Add(int a, int b){return (a+b);}virtual int
Time of Update: 2018-12-03
c語言中的字串函數主要是兩大類,一類是拷貝的,一類是比較的,另一個就是其他的拷貝的有:1. strcpy函數原型char *strcpy( char *strDestination, const char *strSource );函數功能將strSource的內容拷貝到strDestination中去,包括' \0'傳回值返回strDestination的內容特點strSource和strDestination的記憶體地區可能重疊,沒有定義沒有檢查strDestination的大小是否夠 2
Time of Update: 2018-12-03
用到的資料結構是一個是頂點表,包括頂點和指向下一個鄰接點的指標一個是邊表, 資料結構跟頂點不同,儲存的是頂點的序號,和指向下一個的指標剛開始的時候把頂點表初始化,指標指向null。然後邊表插入進來,是插入到前一個,也就是直接插入到firstedge指向的下一個,而後面的後移 #define MaxVertexNum 100typedef char VertexType;typedef struct node //邊表節點{ int adjvex; node*
Time of Update: 2018-12-03
java 用戶端代碼建立socket綁定 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.InetSocketAddress;import java.net.Socket;public class JavaClient {public static void
Time of Update: 2018-12-03
來自Googlehttp://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Classes1, 使用#define防止重複包含如果標頭檔在項目foo的檔案夾bar下面,標頭檔名稱是baz.h,那麼定義為這樣:#ifndef FOO_BAR_BAZ_H_#define FOO_BAR_BAZ_H_...#endif // FOO_BAR_BAZ_H_2,
Time of Update: 2018-12-03
項目zip包先放上來,大家可以下載編譯以後運行(gif檔案另存新檔zip即可)。http://hi.csdn.net/attachment/201107/25/0_1311593791wkYN.giflibJsonParser是JsonParser的dll項目,原始碼來自json.org網站。http://fara.cs.uni-potsdam.de/~jsg/json_parser/testJsonParser是原作者內建的main.c檔案。int main(int argc, char*