PIXNET Logo登入

藍影

跳到主文

生命就是享受不停學習的過程..

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 13 週日 200912:18
  • 13_指標特輯彙整

指標特輯的介紹到此告一段落,其中我所介紹的大多都是用 C 語法去寫,部份很重要的我也附上 src code,其實還有一個課題是交給各位有心想學的 - 如果你真的聽得懂、看得懂的話,請試著把所有的例子都想成是 char* CharPtr,那麼你將會再更上一層..最後,將指標特輯的內容整理附上,請參閱...
01_指標初學請進- 指標與位址
02_陣列與指標關係
03_指標的指標
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(4) 人氣(7,341)

  • 個人分類:指標特輯
▲top
  • 9月 13 週日 200911:39
  • 12_指標當參數常發生的錯誤

這種錯誤常有人會犯:在副函式裡面使用指標配置了一個新的記憶體空間,最後把這個指標傳回給主程式。為什麼不行?如果這個問題不知道答案的話,請回到 CallByValue 詳細看一遍再回來看解說...
先看以下的 code 再做說明
原始碼
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(2) 人氣(6,984)

  • 個人分類:指標特輯
▲top
  • 9月 13 週日 200910:36
  • 11_以一維指標表示二維、三維陣列

關於這個問題之前有不少人提過,只是換個型式又出現而已。這部份沒有想像中那麼難,只是一樣要拿個紙筆畫一下圖就是了。這次我不多說,大家仔細看範例還有執行結果就知道是要幹嘛的了…
1. 原始碼
// ====================================
// FileName: Ptr1To2.cpp
// Author  : Edison.Shih.
// Complier: VC 2008
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(1) 人氣(5,703)

  • 個人分類:指標特輯
▲top
  • 9月 13 週日 200909:21
  • 10_memory leak問題

memory_leak(1).png在 09_二維指標與陣列 - 動態配置 [m][n] 陣列 中我們有提到
如果每 malloc 一份 memory 但卻沒有釋放,
將造成 memory leak 問題,一般而言程式真的不好抓,
(特別是已經寫了四、五千行程式要更很麻煩)
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(1) 人氣(1,820)

  • 個人分類:指標特輯
▲top
  • 9月 13 週日 200908:36
  • 09_二維指標與陣列 - 動態配置 [m][n] 陣列

在進入這階段時,請先確定前八個階段都確定會了再下來會好些。另外,有篇文章請先看過...
[console] 一維陣列與指標
[console] 二維陣列基本介紹
[console] 二維陣列與指標
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(5) 人氣(84,839)

  • 個人分類:指標特輯
▲top
  • 9月 11 週五 200908:47
  • 08_使用指標建立一維動態陣列

對於之前”指標特輯”的前三篇文,在程式中讓人感覺實用意義並不大,接下來要說的全都是重點,如果前三篇文沒有看懂的人,請先回去看懂吧。
1. 為什麼要用動態記憶體:一般我們使用陣列時,你不可以隨時改變陣列的大小,陣列的大小在宣告時就已經確定。所以不可能會有像以下的程式碼出現
int N = 10;
int a[N]; // complier error
N = 20;
a[N]; // complier
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(3) 人氣(109,427)

  • 個人分類:指標特輯
▲top
  • 9月 11 週五 200908:25
  • 07_函式參數(引數) - CallByReference

現在,要為各位介紹CallByReference進行SWAP的做法。先聲明,CallByReference是在C++才有的概念,不過由於現在Complier幾乎沒有單獨支援C不支援C++的, 所以就算用C語言去寫CallByReference還是可被接受。
我們前面有提過CallByValue和CallByAddress,不管是哪種方法,OS都會再次配置副函式引數所需的記憶體空間,但CallByReference是非常特別的方法,OS是直接跑到主函式a, b的位址直接進行運算,並沒有再配置額外的記憶體。所以也有人說,使用CallByReference的速度會比較快。CallByReference的寫法大致如下:
void swap(int &c, int&d){…..}
void main()
{
     int a, b;
     swap(a, b);
}
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(3) 人氣(2,458)

  • 個人分類:指標特輯
▲top
  • 9月 11 週五 200908:16
  • 06_函數參數(引數) - CallByPointer2

接下來的這個其實不是我要說明,而是留給各位思考,這個問題並不會太難或是太複雜...現在再次考慮 SWAP_A 的副函式,只是我寫的方式換了
原本的:
// ====================================
void Swap_A(int *a, int *b)
{
        int  c;
        c = *a;
        *a = *b;
        *b = c;
}
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(3) 人氣(2,113)

  • 個人分類:指標特輯
▲top
  • 9月 11 週五 200908:03
  • 05_函式參數(引數) - Call By Pointer

這是一個討論很久的名詞問題。
void f(int *x)
{
     printf("%d", *x);
}
int main()
{
    int y=10;
    f(&y);
    return 0;
}
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(4) 人氣(7,009)

  • 個人分類:指標特輯
▲top
  • 9月 11 週五 200907:13
  • 04_函式參數(引數) - CallByValue

現在,假設我要寫一個函數,這個函數是交換二個整數,也就是 a 的值給 b, b 的值給 a,該怎麼寫?這種問題是一般初學者最常犯的錯誤 – 使用 call by value。下面的例子說明了為什麼不能使用 call by value 的方式進行 swap 的動作。在看此例的執行結果時,手邊一樣先準備好紙跟筆,畫出各變數的記憶體位置及儲存值,對學習會很很大的幫助。
 原始碼:
// ====================================
// FileName: CallByValue.cpp
// Author  : Edison.Shih.
// Complier: VC 2008
(繼續閱讀...)
文章標籤

Edison 發表在 痞客邦 留言(1) 人氣(3,086)

  • 個人分類:指標特輯
▲top
12»

個人資訊

Edison
暱稱:
Edison
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (4,907)[console] 一維陣列與指標
  • (55,623)[console] 二維陣列基本介紹
  • (16,453)[console] 二維陣列與指標
  • (1,440)命令提示字元常用指令
  • (4,603)Autorun.inf 簡介
  • (2,868)[字典檔 - C語言] 初版
  • (9,045)[C語言數值分析] 求PI
  • (4,365)[演算法 - 數] 完美數 - 呆呆法
  • (3,041)[演算法 - 數] 阿姆斯壯數
  • (118,939)01_初學指標請進 - 指標與位址

文章分類

toggle C/C++ 程式設計 (8)
  • 程式亂語 (3)
  • 作業文 (12)
  • 方程式求解 (4)
  • 線性代數問題 (6)
  • 數的特性 (6)
  • 基礎筆記 (12)
  • Win32視窗設計 (7)
  • 指標特輯 (13)
toggle 軟體應用 (3)
  • Application (1)
  • Windows Operation. (7)
  • 命令提示字元 (3)
toggle 非資工演算法 (1)
  • NP 問題演算法 (1)
  • 未分類文章 (1)

最新文章

  • 微小
  • 準備搬家
  • [作業文] 井字遊戲
  • [作業文] 星號問題種類
  • [作業文] 太陽星星月亮 - 畫數字問題
  • [作業文] 太陽星星月亮 - 中空凌形問題
  • [轉載] 送給正在學習C++朋友的50條建議
  • 初學者對 IDE / C(++) 的錯誤認知
  • [作業文] 一行版九九乘法表
  • [作業文] cos(x) = 1- x^2/2! + x^4/4! - ....... x^n/n!

文章精選

文章搜尋

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣: