讀《C和指標》

        這本書不是C語言入門教材,讀這本書之前至少會用C寫個反轉字串什麼的。        書裡晰了很多概念,有些知識點是《C程式設計語言》裡所無的,有些鞏固了自己不確切的經驗。         最近讀《軟體隨想錄》讀到一些深為贊同的話,比如作者稱不懂C語言和指標的,不會寫遞迴程式的CS學生都不該得到CS bachelor,並嘲諷了某些學校的CS只教java的做法。        

C++中兩個類中互相包含對方對象的指標問題

  前幾天很不爽,因為C++中兩個類中互相包含對方對象的指標編譯時間提示某一個類未定義。。。所以我就想啊想,這樣也對,我的標頭檔都有#ifndef的,包含了一次就不能再包含了,以為就實現不了這樣的功能,於是就改了設計方案:class A{public: A(B* pB):m_pB(pB) { }private: B* m_pB;};class B{public: B() {}private: int

C編譯: 使用gdb調試

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!  gdb是the GNU Debugger的簡稱。它是一款UNIX平台的調試器(debugger),可用於為C, C++, Objective-C, Java, Fortran等程式debug。在gdb中,你可以通過設定斷點(break

C語言學習趣事_這樣的IF子句Condition你傷的起嗎?

  前兩天我在一個QQ群裡面,看到一個群友發了一段“奇特的”C++代碼,應該算是C++吧,我也說不準了。下面我們看看整個的討論過程。   上面是我大體截取的部分對話過程,應該是連貫的,這裡我就迷惑了,給他們一弄我動搖了,動搖的不是我對這個推理過程的認識,而是我無語的動搖了。  這裡我對VTC_King同學的這種探索精神表示讚賞,俗話說:盡信書不如五書。  下面是我對這個程式的執行過程:  從上面的過程來看,程式如我所說,成功的編譯,而且我開啟的是-Wall編譯選項;而且程式編譯後成功執行,但是輸

C語言面試那些事兒──一道指標與數組問題

首先看如下代碼:1 int main(int argc, char** argv)2 {3 int a[5] = {1,2,3,4,5};4 int* ptr = (int*)(&a + 1);5 printf("%d,%d\n", *(a+1), *(ptr-1));6 return 0;7

volcanol_隨筆匯總【書籍下載連結】_1_第一輪_C語言書籍

  本人的隨筆,均出自自己的手筆,內容均是自己實踐後總結的。  歡迎轉載,轉載請註明來源:http://www.cnblogs.com/volcanol【書籍下載】                  【書籍下載連結】_1_第一輪_C語言書籍【C】    C語言學習趣事:http://www.cnblogs.com/volcanol/archive/2012/06/05/2537342.html【C++】【linux】    linux

C++堆上申請二維數組

C++堆上申請二維數組假設要申請的是double型大小m*n數組有如下方法方法一:優點:申請的空間是連續的 缺點:較難理解1 double (*d)[n] = new double[m][n]方法二:優點:容易理解 缺點:申請的空間不能連續且需要多個指標才能管理double *d[m];for (int i=0; i<m; i++) d[i] = new double[n]; 

Singleton on iOS (Obj-C實現單例模式)

 Singleton on iOS (Obj-C實現單例模式)參考地址:http://www.duckrowing.com/2010/05/21/using-the-singleton-pattern-in-objective-c/Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->static MyGizmoClass

Using Property in Obj-C(Obj-C中屬性的使用)

Using Property in Obj-C(Obj-C中屬性的使用)基礎格式: 1 @interface YourMotherObject : YourMothersMotherObject2 {3 ... // 聲明成員變數4 }5 @property (屬性值) 成員變數類型 成員變數名6 @end 屬性值介紹(懶得寫,Copy來的): readonly 此標記說明屬性是唯讀,預設的標記是讀寫,如果你指定了唯讀,在@implementation中只需要一個讀取器。或者如果你使用@

C堆上申請二維數組

C堆上申請二維數組之前寫了一篇《C++堆上申請二維數組》,應該說C++的方式相對於C還是更簡單容易理解一些,那麼C如何寫呢?方法一:通過數組指標申請連續的空間 1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 // 申請a[3][2]三行兩列二維數組 6 int (*a)[2] = (int(*)[2])malloc(sizeof(int)*3*2); 7 a[0][0] =

【原創】Performanced C++ 經驗規則 第三條:你不知道的建構函式(下)

第三條:你不知道的建構函式(下)前面兩篇,我們已經討論了C++建構函式中諸多細枝末節,但百密一疏,還有一些地方我們沒有考慮到。這一篇將對這些問題進行完結。7、建構函式中的異常當你在建構函式中寫代碼的時候,你有沒有想過,如果建構函式中出現異常(別告訴我,你不拋異常。“必要”時系統會替你拋的),那會出現怎樣的情況?對象還能構建完成嗎?建構函式中已經執行的代碼產生的負面效應(如動態分配記憶體)如何解決?對象退出其範圍時,其解構函式能被調用嗎?上述這些問題,正是建構函式中產生異常要面臨的問題。讓我們先看

【原創】Performanced C++ 經驗規則 第一條:你不知道的建構函式(上)

Performanced C++ 經驗規則前言:Performanced C++,意為“高效能C++“編程,是筆者和所在團隊多年C++編程總結的經驗規則,按條款方式講述(參考了《Effective

C++ 安全執行緒的單例模式

廢話不多說,常用的代碼積澱下來。一、懶漢模式:即第一次調用該類執行個體的時候才產生一個新的該類執行個體,並在以後僅返回此執行個體。需要用鎖,來保證其執行緒安全性:原因:多個線程可能進入判斷是否已經存在執行個體的if語句,從而non thread safety.使用double-check來保證thread safety.但是如果處理大量資料時,該鎖才成為嚴重的效能瓶頸。1、靜態成員執行個體的懶漢模式: 1 class Singleton 2 { 3 private: 4 static

一種Lua到C的封裝

在Lua的官方C API中,Lua與C通過一個虛擬棧來互動資料。例如有個a.lua的檔案中有求和函數:function sum(a, b) return a + bend要在C代碼中開啟lua檔案,並調用求和函數,大致要這樣寫:lua_State *s = luaL_newstate();luaL_openlibs(s);luaL_loadfile(s, "a.lua");lua_getglobal(s, "sum");lua_pushinteger(s,

【原創】Performanced C++ 經驗規則 第四條:靜態和多態,亦敵亦友

第四條:靜態和多態,亦敵亦友這一篇,我們討論C++中靜態和多態的關係。我們都知道,C++並不是一門“動態”語言,雖然它提供了同樣強大於其它動態語言的多態性,但很多時候,我們之所以選擇C++,看重中正是其“靜態”所帶來的High

一種C函數到Lua的封裝

Lua也可以調用C函數,只是以更加崎嶇的方式——通過一個私人棧來傳遞參數和傳回值。提供給Lua API的C函數都是這個樣子的:static int sum(lua_State *L){ int a = lua_tonumber(L, -1); int b = lua_tonumber(L, -2); lua_pop(L, 2); lua_pushnumber(L, a + b); return 1; /* return one value. */}Lua將其定義為:

【C/C++】 C++中的static類成員

在寫程式是經常會遇到這種情況:需要統計某一個類的所有對象執行個體的個數。一個比較簡單的方法是使用一個全域的變數,但是其缺點也是顯而易見的。使用static成員可以很好的解決這個問題。相對與使用全域變數使用static成員有以下優勢1)

c#對象私人屬性在重載Equals中的使用

  一般情況下對象的比較會涉及到重載Equals方法,這裡所說的方法只對同類型對象的比較有效。  請看下面兩段代碼:  1。不同類的比較public enum ComplexionType{    yellow,    white,    black}class Chinese{    public Chinese(ComplexionType complexionType)    {        this.complexionType = complexionType;    }    pr

c庫函數之 bcmp

原型:extern int bcmp(const void *s1, const void *s2, int n);  用法:#include <string.h>  功能:比較字串s1和s2的前n個位元組是否相等  說明:如果s1=s2或n=0則返回零,否則返回非零值。bcmp不檢查NULL。  舉例:  // bcmp.c  #include <syslib.h> #include <string.h>  main()  {    char

這是我參加c語言比賽的機考試題,與大家分享下

第一題:#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 30/************************************************函數名稱: fun*建立時間: 2010.12.5*作 者: huangliangming*描 述: 對一個字串重新排列,字母排在前面,數字排在後面,並不改變原來字母之間以及數字之間的字元順序。*參 數:

總頁數: 4314 1 .... 497 498 499 500 501 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.