Time of Update: 2018-12-03
很多人學C語言很長一段時間了,還不知C究竟能幹什麼,以為學習c語言沒什麼用,純粹是為了應付學校的考試.更有人說"學C語言?別做如此愚蠢的行為了!趕快學C++吧!"這種看法是不對的,不應該把c跟c++之間划起絕對的界限,過分看重c++而把c貶得一無是處,這是很片面的.C++功能雖然強大,但它畢竟是c的"超集",在c++裡有哪一處找不到c的影子呢?沒有c的支援,c++只能是無本之木。
Time of Update: 2018-12-03
作者:JsuFcz/* base64編碼函數 */int base64(char *s,char *d){char CharSet[64]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s'
Time of Update: 2018-12-03
一、什麼是位元組對齊,為什麼要對齊? 現代電腦中記憶體空間都是按照byte劃分的,從理論上講似乎對任何類型的變數的訪問可以從任何地址開始,但實際情況是在訪問特定類型變數的時候經常在特 定的記憶體位址訪問,這就需要各種類型資料按照一定的規則在空間上排列,而不是順序的一個接一個的排放,這就是對齊。 對齊的作用和原因:各個硬體平台對儲存空間的處理上有很大的不同。一些平台對某些特定類型的資料只能從某些特定地址開始存取。比如有些架構的CPU在訪問
Time of Update: 2018-12-03
http://www.cppreference.com/operator_precedence.html PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping
Time of Update: 2018-12-03
快速排序通常是用於排序的最佳的使用選擇,這是因為其平均效能相當好,像合并排序一樣,快速排序也是基於分治模式的,下面是快速排序的C語言實現過程:#include <stdio.h>//將數組分為兩部分,前半部分和後半部分分別小於和大於分隔的那個數unsigned int partition(int *A, int p, int r){int x = A[r];int i = p - 1, j, temp;for (j = p; j < r; j++){if (A[j] &
Time of Update: 2018-12-03
Visual C#
Time of Update: 2018-12-03
(來源:http://www.cnblogs.com/gaochaooo/archive/2009/09/03/1559764.html) C++記憶體配置秘籍—new,malloc,GlobalAlloc詳解
Time of Update: 2018-12-03
[xml/c/c++]TinyXML中文文檔TinyXML譯註:本文是TinyXML 2.5.2版本Document的中文文檔,經原作者Lee Thomason同意由hansen翻譯,如有誤譯或者錯漏,歡迎指正。著作權:著作權歸原作者所有,翻譯文檔著作權歸本人hansen所有,轉載請註明出處。原文:http://www.grinninglizard.com/tinyxmldocs/index.htmlTinyXml 文檔TinyXML是一個簡單小巧,可以很容易整合到其它程式中的C++
Time of Update: 2018-12-03
#include <iostream>#include <stdlib.h>template <class T>struct Node{ //結點類型 T data; Node *next; //前驅結點 Node *prev; //後繼結點};template <class T>class lnkList{ //鏈表類型 Node<T> *head,*tail;public: lnkList(){
Time of Update: 2018-12-03
在Java控制台程式中,特別是多線程的Java控制台程式中,中途中斷程式可能產生不可預料的結果,比如檔案描述符沒有關閉,造成檔案格式的破壞,或者 遠端連線沒有關閉,造成遠程伺服器資源的浪費,等等。所以在程式中添加Ctrl+C處理機制很有必要,下面根據一個例子作一下介紹如何處理:在 程式中調用RunRuntime.getRuntime().addShutdownHook(Thread
Time of Update: 2018-12-03
linux C 語言的 system是用來在程式中執行shell命令。 使用方法 #include<stdlib.h>//函數形式int system(const char * string); 函數說明 system() 會調用fork()產生子進程,由子進程來調用/bin/sh-c
Time of Update: 2018-12-03
C 編程中相關檔案尾碼.a靜態庫 (archive).cC原始碼(需要編譯預先處理).hC原始碼標頭檔.iC原始碼(不需編譯預先處理).o對象檔案.s組合語言代碼.so動態庫[編輯]單個源檔案產生可執行程式 下面是一個簡單的“hello, ubuntu”程式的原始碼:/* helloubuntu.c */#include <stdio.h>int main(int argc,char *argv[]){printf("hello, ubuntu\n"); return
Time of Update: 2018-12-03
Windows下Object-C編譯環境的搭建:1. 下載並安裝以下兩個軟體 : GNUstep System(我用的版本是:gnustep-msys-system-0.25.1-setup.exe) GNUstep Core(我用的版本是:gnustep-core-0.25.0-setup.exe) : http://www.gnustep.org/experience/Windows.html
Time of Update: 2018-12-03
這個執行個體為我們展示了在object-c中,如何建立和使用類(class),不要忘記,object-c是物件導向的啊。Fraction,,正如它的含義所在一樣,這個程式只提供了列印分數的例子。1. 代碼: //檔案名稱:Fraction.h#import <Foundation/NSObject.h>@interface Fraction: NSObject { int numerator; int denominator;}-(void)
Time of Update: 2018-12-03
和C++不同的是,object-c中並沒有規定說一定要實現一個建構函式和解構函式;所以,在object-c中,其實沒有建構函式和解構函式這樣的概念,取而代之的應該是對象的創造和初始化,對象的釋放。在object-c中,調用alloc/init其實就是進行對象的創造和初始化,或者,使用者也可以自己寫一個函數,只要完成類的資料成員的初始化,並且返回這個本執行個體的指標(self)即可。執行個體如下:1.
Time of Update: 2018-12-03
和C++,Java等物件導向程式設計語言一樣,object-c中對於資料成員可以設定它們的存取權限,它規定了外部實體如何來訪問這些資源。例如:1. 代碼: //Access.h#import <Foundation/NSObject.h>@interface Access: NSObject {@public int publicVar;@private int privateVar; int privateVar2;@protected int
Time of Update: 2018-12-03
有符號數與無符號數之間運算問題以下實驗均在virual c++6中運行通過這個問題測試是否懂得C語言中的整數自動轉換原則,有些開發人員懂得極少這些東西。當運算式中存在有符號類型和無符號類型時所有的運算元都自動轉換為無符號類型。因此,從這個意義上講,無符號數的運算優先順序要高於有符號數,這一點對於應當頻繁用到無符號資料類型的嵌入式系統來說是豐常重要的。 首先進行一個實驗,分別定義一個signed int型資料和unsigned int型資料,然後進行大小比較: unsigned int a=
Time of Update: 2018-12-03
編了一晚上的程式,結果因為數組太大不能運行:segmentation……取找解決方案:這個比較適用!贊 方法一: 在VC的Project setting裡的link選項卡裡把棧開大一點(windows裡預設是4M) 方法二: 聲明成全域或static的,這兩種變數不壓棧,想開多大都可以 方法三: int *A = new int[90000]; ..... delete A; 方法四:
Time of Update: 2018-12-03
1. 以下三條輸出語句分別輸出什嗎?[C易]char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "abc";const char* str6 = "abc";cout << boolalpha << ( str1==str2 ) << endl; //
Time of Update: 2018-12-03
前幾天參加了一個公司的面試,做了一份C++的面試題,回來後發現是一本書上的原題,故特此將題目和標準答案找出發了上來,供大家參考。 附錄B :C++/C 試題本試題僅用於考查C++/C 程式員的基本編程技能。內容限於C++/C 常用文法,不涉及資料結構、演算法以及深奧的文法。考試成績能反映出考生的編程品質以及對C++/C 的理解程度,但不能反映考生的智力和軟體開發能力。筆試時間90 分鐘。請考生認真答題,切勿輕視。一、請填寫BOOL , float, 指標變數與“零值”比較的 if 語句。(1