原创 測量各種數據類型的長度(包括指針),typedf關鍵字對數據類型的作用!

32位處理器存儲單位 bit (位) 字節 = 8 bit 半字 = 2 個字節 = 16 bit 字 = 4 個字節 = 32 bit 字節長度: 變

原创 藍橋杯(1)

最近想報藍橋杯,先從學長那兒看幾道題吧, ~~(>_<)~~ 立方尾不變 有些數字的立方的末尾正好是該數字本身。 比如:1,4,5,6,9,24,25,…. 請你計算一下,在10000以內的數字中(指該數字,並非它立方後的

原创 彙編指令大全

彙編指令大全 一、數據傳輸指令 ─────────────────────────────────────── 它們在存貯器和寄存器、寄存器和輸入輸出端口之間傳送數據. 彙編指令大全 1. 通用數據傳送指令. MOV 傳

原创 線性表之順序存儲結構(C語言動態數組實現)

線性表的定義:N個數據元素的有限序列 線性表從存儲結構上分爲:順序存儲結構(數組)和 鏈式存儲結構(鏈表) 順序存儲結構:是用一段連續的內存空間存儲表中的數據 L=(a1,a2,a3….an) 鏈式存儲結構:是用一段一段連續的

原创 有關函數聲明的注意點

在C語言中,函數聲明稱爲函數原型(function prototype)。使用函數原型是ANSI C的一個重要特點。它的作用主要是利用它在程序的編譯階段對調用函數的合法性進行全面檢查。 說明: <1> 以前的C版本的函數聲明方

原创 堆(heap)和棧(stack)有什麼區別?

簡單的可以理解爲: heap:是由malloc之類函數分配的空間所在地。地址是由低向高增長的。 stack:是自動分配變量,以及函數調用的時候所使用的一些空間。地址是由高向低減少的。 預備知識—程序的內存分配 一個由c/C++

原创 C++(1)面向對象和類

一、 面向對象編程介紹 1. 什麼是面向對象? 面向將系統看成通過交互作用來完成特定功能的對象的集合。每個對象用自己的方法管理數據。也就是說只有對象內部的代碼能操作對象內部的數據。 2. 面向對象的優點 活字印刷書即面向對象

原创 斐波那契數列及青蛙跳臺階問題

題目1: 寫一個函數,輸入n,求斐波那契(Fibonacci)數列的第n項。 斐波那契(Fibonacci)數列定義如下: f(n)= ⎧ ⎩ ⎨ ⎪ ⎪ 0, 1, f(n−1)+f(n−2), n=0 n=1

原创 c語言數組與指針詳解

好多同學都說:“老師,我看到指針就暈!”,說實話,見過暈血的,見過暈車的,暈指針的到是第一次聽說! 我們先來分析一下暈車的原理,再來對比一下爲什麼暈指針。 暈車,是因爲耳朵裏的一個器官對外界的振動太敏感,導致身體調節

原创 不使用循環,判斷一個數是否是2的N次方

對於判斷一個數是否爲2的N次方問題,通常想到的最爲直接的辦法就是對這個數不斷對2取餘,爲0就將該數變爲該數除以2,直到最後該數爲1爲止。 void judge(int n) { while(!(n % 2)) { n

原创 strcpy,sprintf,memcpy的區別

strcpy 函數操作的對象是字符串,完成 從 源字符串 到 目的字符串 的 拷貝 功能。 sprintf 函數操作的對象 不限於字符串:雖然目的對象是字符串,但是源對象可以是字符串、也可以是任意基本類型的數據。這個函數主要用來實現 (

原创 數組與鏈表的區別

1.基於空間的考慮 數組的存儲空間是靜態,連續分佈的,估計過大造成空間浪費,估計太小又將使空間溢出機會增多。 而鏈表的存儲空間是動態分佈的,只要內存空間尚有空閒,就不會產生溢出; 鏈表中每個節點除了數據域外,還有指針域,存儲密度小於1

原创 文章標題struct對齊方式

//用一個宏定義FIND求結構體struct s中某個成員變量member相對struct s的偏移量. //思考:若struct s的地址爲0,則其成員member的地址就是其相對於s的偏移量 //擴展: <1>sizeof(str

原创 union 和 struct

聯合說明和聯合變量定義   聯合也是一種新的數據類型, 它是一種特殊形式的變量。聯合說明和聯合變量定義與結構十分相似。其形式爲:   union 聯合名{   數據類型 成員名;   數據類型 成員名;   …   } 聯合變量

原创 C語言左右法則

C語言所有複雜的指針聲明,都是由各種聲明嵌套構成的。如何解讀複雜指針聲明呢?右左法則是一個既著名又常用的方法。不過,右左法則其實並不是C標準裏面的內容,它是從C標準的聲明規定中歸納出來的方法。C標準的聲明規則,是用來解決如何創建聲明的,而