Time of Update: 2018-12-03
當注釋掉大塊代碼時,使用"#if 0"比使用"/**/"要好,因為用"/**/"做大段的注釋要防止被注釋掉的代碼中有嵌套的"/**/",這會導致注釋掉的代碼地區不是你想要的範圍, 當被注釋掉的代碼很大時容易出現這種情況,特別是過一段時間後又修改該處代碼時更是如此。 在這裡順便對條件編譯(#ifdef, #else, #endif, #if等)進行說明。以下分3種情況: 1. 情況1: #ifdef
Time of Update: 2018-12-03
C++ sizeof運算子在使用中有許多值得注意的地方,其間涉及的知識也很多。這裡我把它的用法總結如下:(一)對基本類型 的操作對於基本類型sizeof返回這種資料類型所佔用的記憶體空間大小。在VC++6.0下運行結果:sizeof(int)=4sizeof(unsigned int)=4sizeof(long)=4sizeof(unsigned long)=4sizeof(float)=4sizeof(double)=8sizeof(long
Time of Update: 2018-12-03
做一下小測驗,熟悉一下過程幀的結構。通過下面的代碼,即可找到函數的返回地址:#include <stdio.h>int evil(int para) { int var = 10; printf("evil\n"); printf("address ¶ is:%p, has value:%p\n", ¶, (void*) *(¶) ); printf("address &var is:%p, has
Time of Update: 2018-12-03
標頭檔:#include <unistd.h>在用rand產生偽隨機數時,一般以時間作為種子,如下:srand((unsigned)time(NULL));rand();我在一個函數中用到了這個,像下面這樣:int func() { srand((unsigned)time(NULL)); return rand() % 1000;}然後在一個線程threadLoop裡調用
Time of Update: 2018-12-03
資料採礦是從大量資料中分析推斷出資料規律的一種技術,它具有廣泛的應用前景,比如社交網路中好友推薦,購物網站中的商品推薦等等。資料採礦至提出到現在,已經產生了多種資料採礦演算法。其中Apriori 是一種最有影響的挖掘布爾關聯規則頻繁項集的演算法。本文使用C語言實現來一個單一最小支援度的Apriori演算法。
Time of Update: 2018-12-03
01. 為了更深入的理解C++程式設計語言;02. 為了更深入的理解物件導向的思想;03. 程式員如果瞭解C++物件模型,就可以寫出比較沒有錯誤傾向而且比較有效率的代碼;//--------------------------------------------------------------------------------一、前言部分00. 閑言片語: >有個毛病,就是讀書喜歡從前言讀起,呵呵;
Time of Update: 2018-12-03
01. 又是個ch00,個人感覺,程式員從0開始計數是一種好習慣,同時也是一種悲哀。02. 好習慣是因為他已經有了電腦的思維,悲哀是因為人不是機器。03. 獨自一個人在深圳,有時候有種說不出的感覺。04. 趁著這段時間的休息,好好補充下能量。05. 以前60Kg的體重編程54Kg,說實話,我有點心疼自己。06. 如果連自己都不能感動,如何感動別人,如何感動上帝?//------------------------------------------------------------------
Time of Update: 2018-12-03
C/C++聲明的規則:步驟:1、聲明從名字開始讀取,然後按優先順序順序依次讀取。2、優先順序順序是: (1)聲明中括弧括起來的部分 (2)尾碼操作符,括弧()表示是個函數,方括弧【】表示是個數組 (3)首碼操作符*, 表示“指向 ----的指標”3、如果是const 和volatile關鍵字放在類型標識符的前面,那麼它作用於類型操作符,比如“指向int類型const變數的指標”(const int *p)。一般情況下要放在*的右邊,如:int *const
Time of Update: 2018-12-03
#include <stdio.h>void main(){ int a = 0x12345678; int b = 0x567890AB; int c = 0x7890ABCD; char * p = (char*)&a; char * q = p + 2; int x = *(int*)q;
Time of Update: 2018-12-03
有人在酷殼的留言版上詢問下面的問題keep_walker : 今天晚上我看到這篇文章。 http://programmers.stackexchange.com/questions/62502/small-c-projects我也遇到了和提問的老外一樣的問題。。能給像遇到這樣煩惱的程式員一點建議嘛?謝謝!我相信,這可能是很多朋友的問題,我以前也有這樣的感覺,編程編到一定的時候,發現能力到了瓶頸,既不深,也不紮實,半吊子。比如:你長期地使用Java和.NET
Time of Update: 2018-12-03
昨天寫了一篇如何學好C語言,就有人回複問我如何學好C++,所以,我把我個人的一些學習經驗寫在這裡,希望對大家有用。首先,因為如何學好C語言中談到了演算法和系統,所以這裡就只談C++語言。C++是最難的語言。這個世界上最難的程式設計語言可能非C++莫屬了。你千萬不要以為幾天就可以學好C++,C++的學習曲線是相當BT的,你可以看看這篇文章。C++是一門很自由的語言,自由到了有點BT和恐怖的地步。我甚至認為C++並不是一門成熟的程式設計語言,因為太容易犯錯了。所以,你一定要在一開始就要有很小心謹慎的
Time of Update: 2018-12-03
1)“冒泡法1” 其原理為從a[0]開始,依次將其和後面的元素比較,若a[0]>a[i],則交換它們,一直比較到a[n]。同理對a[1],a[2],...a[n-1]處理,即完成排序。 void bubble(int *a,int n) { int i,j,temp; for(i=0;i<n-1;i++) {for(j=i+1;j<n;j++) /*注意迴圈的上下限*/ {if(a[i]>a[j]) { temp=a[i]; a[i]=a[j];
Time of Update: 2018-12-03
int的大小是4,定義vector<int> vec,vec中有一個元素,sizeof(vec)=20,如果有1000個元素,則sizeof(vec)是多少?#include <iostream>#include <vector>using namespace std;int main(){ vector<int> vec; for(int i=0;i<100;i++)
Time of Update: 2018-12-03
UNIX/Linux下C語言的學習路線。一、工具篇“公欲善其事,必先利其器”。編程是一門實踐性很強的工作,在你以後的學習或工作中,你將常常會與以下工具打交道, 下面列出學習C語言編程常常用到的軟體和工具。1、作業系統 在UNIX或Linux系統中學習C很方便,所以在開始您的學習旅程前請先選擇一個UNIX或Linux作業系統,目前可供個人免費使用的UNIX或Linux系統有FreeBSD、RedHat Linux、SUSE Linux等,而且在安裝包中還提供很多實用的工具,如:gcc,
Time of Update: 2018-12-03
/home/lufee/mydiraver//globalmem.c:193:2: 錯誤:隱式聲明函數‘kmalloc’ [-Werror=implicit-function-declaration]/home/lufee/mydiraver//globalmem.c:210:2: 錯誤:隱式聲明函數‘kfree’ [-Werror=implicit-function-declaration]隱式聲明函數錯誤的意思是函數在未聲明之前就被調用了,需要先聲明這兩個函數,版本變化導致這個錯誤的出現。
Time of Update: 2018-12-03
C語言中的__attribute__機制 來源: ChinaUnix部落格 日期: 2008.09.25 15:52 (共有0條評論) 我要評論 GNU C的一大特色(卻不被初學者所知)就是__attribute__機制。__attribute__可以設定函數屬性(Function Attribute)、變數屬性(Variable Attribute)和類型屬性(Type
Time of Update: 2018-12-03
字串常量是儲存在常量儲存區(文字常量區),因此不能改變其值。#include <iostream>using namespace std;int main(void){ char *p="C++"; *(p+1)='d'; cout<<*p<<endl; char ch[]="c++"; ch[0]='d'; cout<<ch<<endl; return
Time of Update: 2018-12-03
剛學習Windows編程時,走了許多彎路,看了不少書紙檔的電子檔的都有,下面看過的書都還不錯:1.VC++深入詳解(孫鑫),網上有相關視頻;2.侯捷, 《深入淺出MFC》對MFC講的詳細;3.《Windows核心編程》;書裡面都有配套執行個體代碼,對於初學者來講很有協助,同時在寫程式時MSDN也是必不可少的,裡面啥都有。參考網站:CSDN-〉VC/MFC論壇 VC知識庫 國外codeproject等
Time of Update: 2018-12-03
對於一個c/c++程式員來說,記憶體流失是一個常見的也是令人頭疼的問題。已經有許多技術被研究出來以應對這個問題,比如Smart Pointer,Garbage Collection等。Smart Pointer技術比較成熟,STL中已經包含支援SmartPointer的class,但是它的使用似乎並不廣泛,而且它也不能解決所有的問題;Garbage
Time of Update: 2018-12-03
步驟 4:編寫 C/C++ 代碼 當談到編寫 C/C++ 函數實現時,有一點需要牢記:說明必須和 JNI_javaCallc_test.h 的函式宣告完全一樣。 我們將研究用於 C 實現和 C++ 實現的完整代碼,然後討論兩者之間的差異。C函數實現以下是 JNI_javaCallc_test.c,它是用 C 編寫的實現:#include <jni.h>/* Header for class test_JNI_javaCallc_test *//* * Class: