Time of Update: 2018-12-07
前些日子,在QQ群裡面,發現一些朋友在討論函數返回後,為什麼值可以傳遞和地址傳遞的情況;我也感到很好奇,於是就跟了一下。int* sum(int x,int y){ int a; a=x|y; return &a;} 很顯然這段代碼,存在一些問題;但是在VC2008中編譯一切正常,運行狀態也一切正常。下面是我的測試代碼:#include <stdio.h>int* sum(int x,int y){ int a; a=x+y;
Time of Update: 2018-12-07
今天在Gmail的群組討論貼中看到這樣一個文章:[learn-linux-c-cpp] 一維數組轉成指向數組的指標收件匣x zhangzhe benzhemin@gmail.com11-10-28發送至 learning-linux. 還請大家討論一下:代碼:#include <stdio.h>int main(void){ int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int (*p)[2] = (int (*)
Time of Update: 2018-12-07
今天在ChinaUnix下看到一篇文章,討論一些關於數組名和指標的關係,原帖的連結為:http://bbs.chinaunix.net/thread-871769-1-994.html 感覺樓主寫的文字還是挺不錯的,不過裡面未免有些內容有些誤導,在此談一些我個人的看法。Exp1: #include <iostream.h> int main(int argc, char* argv[]){ char str[10]; char *pStr =
Time of Update: 2018-12-07
1、GNU C 參考手冊http://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html 2、伊利諾大學 ACM C 參考手冊 庫函數http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ 3、藍色巨人 C/C++
Time of Update: 2018-12-07
今天在ChinaUnix論壇看到一個文章,詢問結構體定義的問題。文章的原來串連是:http://bbs.chinaunix.net/thread-3666589-1-1.html問題是:有兩個關於struct和typedef的定義。Exp1:1 typedef struct A *pA; 2 struct A 3 { 4 pA b; 5 }A; Exp2:1 struct A;2 typedef struct A *pA; 3 struct A 4 { 5 pA b;
Time of Update: 2018-12-07
好久沒有看C的書籍了,前兩天在CSDN求助,求各位大神們能介紹一本書,我求助的要求是這樣的:求一本介紹Windows C語言執行階段程式庫的書籍。書的內容要求是:能夠具體介紹C語言庫函數的實現方法,例如printf這樣的函數,或者fopen這樣的函數是如何?的。結果很多大俠沒有明白我的意思,給我介紹的都是非常經典的書籍: 《Windows程式設計》、《Windows核心編程》這樣的書籍,在此對那些回複的大俠表示感謝。
Time of Update: 2018-12-07
Time of Update: 2018-12-07
C語言的複雜程度絕對令人難以想象,同時由於一些特殊的原因,C裡面同時存在一些讓人糾結的特性。 下面我們看一些有趣的C語言代碼。Exp:main(){ printf(&unix["\021%six\012\0"], (unix)["have"] + "fun" - 0x60);}第一步:對於這樣的代碼要理解首先要做的是進行縮排,縮排後如下所示:main(){ printf( &unix["\021%six\012\0"], (unix)["have"]
Time of Update: 2018-12-07
昨天測試了一下,如何通過函數從程式的堆棧空間來申請空間供其他函數使用, 裡面提到了一個資料結構的命題:背包問題。命題如下:View Code /* 1.問題描述 假設有一個能裝入總體積為T的背包和n件體積分別為w1,w2,…wn的物品, 能否從n件物品中挑選若干件恰好裝滿背包,即使w1+w2+…+wm=T, 要求找出所有滿足上述條件的解。 例如:
Time of Update: 2018-12-07
前兩天我在園子裡面寫了一篇隨筆, 說了幾個問題, 當時測試用的是WinTC, 後來有幾位大俠對我的說法不是很同意, 我自己也開始對自己動搖了, 於是對那天說的問題中的其中幾個問題重新在VC 6中進行測試, 結果測試發現得出的結果大相徑庭, 這也難怪有大俠表示有不同的看法了.............首先看我在WinTC中測試下面代碼的結果:View Code /* 通過下面的函數測試記憶體申請的傳遞機制 1、 voidgetmemory(char
Time of Update: 2018-12-07
有日子沒有學習C語言了, 前些天在看windows程式設計時, 按照win的體繫結構,在VC 6裡面找到下面一段代碼,發現自己的C語言功底實在是差之又差。代碼為我看到的C代碼,至目前為止,還只能理解個大概;估計要慢慢體會了。View Code DECLARE_HANDLE(HDC);#define DECLARE_HANDLE(name) struct name##__ { int unused; };
Time of Update: 2018-12-07
最近老感覺自己的身體一天不如一天,老是丟三落四的, 哎,歲月啊.................. 在此給還在被中國教育的童鞋們一個建議.............在學校的時候還是小玩玩遊戲,小談談一些海闊天空的事,當你工作後,你會發現你不但沒有時間這個本錢了, 同時連身體這個本錢也沒有了.......... 上次說了一些有意思的面試題, 今天我們結著看看一些關於指標和sizeof的面試題:下面是我看到的一些面試題5、簡述 char * const
Time of Update: 2018-12-07
這兩天趕上高考,家裡有參加高考的,所以沒有來園子裡面逛逛, 今天高考完了,得閑了,所以出來透透氣。 上次我寫了些關於printf()函數的的文字, 感覺自己對輸入輸出不是很瞭解, 並且自己表述的也不是很完整,還幾處小毛病,因此想接著上次的話題繼續瞎掰。 那麼這次瞎掰點什麼呢 ? 那就從輸入輸出說起吧..................1、流 我不知道為什麼國內要把stream 翻譯成流, 不過這個翻譯倒是挺形象的。
Time of Update: 2018-12-07
/* 本程式測試線性隊列的資料結構*/#include <stdio.h>#define MAXSIZE 1024typedef struct node{int data[MAXSIZE];int length;} SeqList;/*函數功能: 初始化線性隊列函數原型: void SeqListInit(SeqList *pSeqList,int n)函數參數: SeqList *pSeqList: 待初始化隊列首指標 int
Time of Update: 2018-12-07
最近在開源中國社區想找一些開源的軟體來學習學習, 發現裡面較多的可執行實體都是採用C++語言編寫的, 同時還發現一些手機類的或者其他類的應用發採用的也是C++,比方說比較有名的QT,裡面使用的語言就是C++;感覺以純C編製的應用程式比較少,同時也想看看C++這個語言與C到底有多大區別,所以就決定開始自學C++。 採用的教材是: C++ Primer 第四版的中文版,
Time of Update: 2018-12-07
在園子裡面貼代碼的時候,經常有人貼代碼就像下面這樣前面帶有行號,複製下來後,粘貼到代碼編輯器裡面後,前面很多的數字編譯前還要全部的刪除這些數字才能編譯,幾十行的代碼刪除也就算了,如果程式碼成千上萬行後就比較麻煩了。 Exp:帶前置行號的C原始碼1 #include <stdio.h>2 3 int main(int argc,char **argv)4 {5 printf("hello world!");6 7 return 0; 8
Time of Update: 2018-12-07
前天收到了K&R的中文版的書,期盼已久的書啊,心情有點小激動。 【練習1-1】 在“Hello world”程式中製造混亂。 這個我倒不是很想做,因為我自己不是個製造混亂的人,雖然有時在寫代碼的時候不能由自己控制,我倒是希望能在代碼中尋找 ladybug,嘻嘻。這裡我們來看點別的:1、ELF 我們在Linux下面編譯好後Hello
Time of Update: 2018-12-07
上一次的文字把Hello world程式說了一點,今天繼續就習題說道說道。【1.5 字元輸入/輸出】 K&R的C書裡面說過一段話: 1、標準輸入輸出庫的輸出模型:
Time of Update: 2018-12-07
看了一天孫鑫老師的視頻教程,發現其實在VC++中利用MFC進行編程也可以攔截訊息,通過建立訊息映射來處理訊息。 嘿嘿,根據老師講的內容,自己測試了書中的代碼。 發現XP和2000對處理客戶區的範圍不一樣。 void CDrawView::OnLButtonUp(UINT nFlags, CPoint point) {// TODO: Add your message handler code here and/or call default////////////
Time of Update: 2018-12-07
最近一直看這本書,發現裡面的習題真的太經典了,很多習題看是簡單,但是要真正的做好,還真需要費很大的事。【習題1.10】 這裡我們先根據習題1.9的套路給出一個程式。/* 本程式用來將輸入的定位字元、退格符顯式輸出,將反斜線以"\\"的形式輸出*/#include <stdio.h>int main(int argc,char* argv[]){ short int Input; while(EOF !=(Input=getchar())) {