Time of Update: 2018-07-30
程式的運行方式 在開始進行程式開發前,我們先來探討最簡單的C程式如何運作。 為了使程式足夠簡單,我們可讓CPU直接從Flash上取得指令(fetch instruction)並執行,而且程式中沒用到全域變數,因此編譯出來的目的檔(object file)中是data section長度是0,如此一來,避免了初始化RAM的步驟,因為data section是可讀寫的,如果目的檔中有data section,我們就必須在程式的啟動過程中,將data
Time of Update: 2018-07-30
#include <iostream>#include <vector>using std::vector;using std::string;using std::cout;using std::cin;using std::endl;int main(){ /** 關於STL vector模板類的基本用法 **/ vector<int> test; // test.empty() if (!test.empty()) {
Time of Update: 2018-07-30
1、數組初始化: 數組元素的個數可以顯示或隱式指定 int main() { int a[10] = {1,2};//其他沒初始化元素,編譯器預設幫你初始化為0 int b[] = {1, 2};//編譯器隱式指定長度為兩個元素
Time of Update: 2018-07-30
嘗試著在C#下調用以前Delphi寫的一些DLL,基本實現動態調用,傳入回呼函數,及調用帶結構數組指標作為參數的函數. 雖然DllImport可以方便的靜態調用DLL的函數,但在.net2.0中新增加了一個Marshal.GetDelegateForFunctionPointer 方法,可以將非託管函數指標轉換為委託。
Time of Update: 2018-07-30
功 能: 將s所指向的某一塊記憶體中的每個位元組的內容全部設定為ch指定的ASCII值, 塊的大小由第三個參數指定,這個函數通常為新申請的記憶體做初始化工作 用 法: void *memset(void *s, char ch, unsigned n); 程式例: #include <string.h> #include <stdio.h> #include <memory.h>
Time of Update: 2018-07-30
搞死人,就這兩節,做的太慢了。 輸出習題 4.34中建立的 vector 對象和數組的內容。輸出數組後,記得釋放字元數組。 以為是個簡單的題目,結果都做錯了 錯在:cout<<parr[st]<<endl; 這一句,我以為需要解引用,就用cout<<*parr[st]<<endl 結果解出來來的是第一位,如果是想全部的字串,則直接輸出該指標。 int main(int argc, _TCHAR*
Time of Update: 2018-07-30
轉自:老生常談,正確使用memset 本文歸納了下使用memset幾個需要注意的地方,雖然內容很簡單,但也希望對大家有所協助。 1. memset是以位元組為單位,初始化記憶體塊。 當初始化一個位元組單位的數組時,可以用memset把每個數組單元初始化成任何你想要的值,比如: char data[10]; memset(data, 1, sizeof(data)); // right memset(data, 0,
Time of Update: 2018-07-30
一Hashtable 和 Dictionary <K, V> 類型
Time of Update: 2018-07-30
C++中引用和指標的概念常常被拿來對比,二者之間有非常相似的特性。這給初學者帶來了困擾,特別是很多編譯器使用了指標來實現引用,更增添二者之間撲朔迷離的牽連關係。本文僅就引用的特性做簡要介紹,旨在協助讀者更好地理解引用的概念和避免常見的錯誤。 引用的三大特性 不存在Null 參考 所有引用都要初始化 引用所指向的對象不可更改 仔細品味以上引用的三大特性,就會發現這三點都是相對於指標而言的。關於這三點,指標有完全相反的特性。
Time of Update: 2018-07-30
偶然間發現去年寫的課程設計作業,寫的還不錯,涉及的知識面還挺多的,現在都有些記不得了,有時間得好好看看c++了。 題目: 設計並實現大整數類,並測試其加減乘除運算(至少有一個數是20位以上的整數)。利用它計算並顯示30。。(要求:必須實現拷貝建構函式、四則運算重載、友元函數、插入和提取運算子多載) 問題分析:
Time of Update: 2018-07-30
以前做Winform程式,居然專門做一個介面來配置連接字串。今天無意中發現:竟然可以直接調用VS.net2005中的配置介面來處理。 使用方法也及其簡便: 一、添加引用 C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/Microsoft.Data.ConnectionUI.Dialog.dll 二、引入名稱空間 using Microsoft.Data.ConnectionUI;
Time of Update: 2018-07-30
多態的原理 例1:定義一個Shape類,其中有一個虛函數和資料成員,然後定義一個Circle類,只有建構函式和資料成員,並且公有的繼承Shape類,所以Circle類使用的也是Shape類的虛函數來計算面積,此時的虛函數如何來實現呢。
Time of Update: 2018-07-30
一、STL容器概述 C++ STL (Standard Template Library標準模板庫)是通用類模板和演算法的集合,它給我們提供了一些標準的資料結構的實現如queues(隊列), lists(鏈表), 和 stacks(棧)等。在我們使用C++編程時經常會使用到STL容器,非常簡單也很方便。 STL的容器可以分為以下三個大類: 順序結構: Vectors(動態數組) Lists(鏈表) Double Ended Queues(雙向隊列) 常用函數:
Time of Update: 2018-07-30
數實值型別 之 字元類型: 電腦處理的資訊中除了數字以外,主要就是字元了,字元包括數字字元、英文字元、運算式符號、等等;C#提供的字元類型按照國際上的公認標準,採用Unicode字元集,一個標準的Unicode字元長度為16位,用它可以表示世界上的很多語言。C# 中給字元變數賦值與C/C++類似: Char ch = 'H'; 有時候當我們錄入人的姓名的時候也用的
Time of Update: 2018-07-30
本章主要講解一下Linux下C語言編程常見的檔案名稱、標頭檔的組成、預先處理命令、預定義宏等的進階使用。 檔案尾碼及檔案類型 標頭檔組成(重點內容) 標頭檔中的內容主要包含以下部分: 1)標頭檔保護(防止出現重定義的報錯) #ifndef .... #define .... #endif .... 2)包含其他標頭檔 #include <stdio.h> #include <stdlib.h> 3)進行宏定義 #define
Time of Update: 2018-07-30
C++安全函數之strcpy_s 1. 必須包含的標頭檔:<string.h> 2. 函式宣告: errno_t strcat_s( char *strDestination, size_t numberOfElements, const char *strSource ); 3. 參數介紹
Time of Update: 2018-07-30
string No = ""; //產生編號 DateTime now = DateTime.Now; string Year = now.Year.ToString(); string Month = now.Month<10?"0"+now.Month:now.Month.ToString(); string Day = now.Day < 10 ? &
Time of Update: 2018-07-30
using System;using System.Threading;public class ThreadTest{ static double number1 = -1; static double number2 = -1; public static void Main() { int maxThreadNum, portThreadNum; int minThreadNum;
Time of Update: 2018-07-30
有時候寫代碼的時候,總覺得程式寫的沒問題,但是總是出錯,找了半天的bug,原來是memset()的用法沒用對。。。說到底還是太渣了,為了以防以後再翻這種錯,特地去查了一下資料和度娘,有種恍然大悟的感覺。。。 void *memset( void *buffer, int ch, size_t count ); memset()的標頭檔是#include<string.h> 我們經常使用memset()來初始化數組,這比用for迴圈初始化效率高很多
Time of Update: 2018-07-30
求累加和最大的最長子數組 問題:給定一個數組,返回子數組的最大累加和 採用暴力求解 時間複雜度0(N*N*N) #include <iostream>using namespace std;/*子數組求最大累加和:返回最大值*/int arrayLocSum(int a[], int length){ if (!a || length <= 0) return -1; int sum = a[0]; int max = sum;