php程序員學C/C++之學習系列-【C基礎】

其實  語言的大多數地方時想通的,再加上PHP是由C寫的,所以我們要學寫C很容易


其實一門語言說來說去就是那些東西,對於C來說

數據類型

基本數據類型short、int、long、char、float、double

 構造類型 數組  結構體struct  聯合體union  枚舉enum

指針

空類型 void

語法:

控制語句

跳轉語句

循環

編程範式

內置函數

動態分配內存

數據結構和算法

以上難點在什麼地方呢      是在指針的操作和內存管理。注意:不是說指針的含義很難 ,指針的定義很簡單。


定義:指針是一種數據類型,與其它的數據類型不同的是指針是一種“用來存放地址值的”變量


這個很容易理解    指針是數據類型       



int       是用來表示值是整數值的變量

*         是用來表示值是地址值的變量



爲什麼都說指針難   其實難的不是指針   而是指針背後的東西     數據結構和算法  以及彙編

彙編  讓你理解指針的原理

數據結構和算法讓你學習指針的用法



這也是我通過自學的情況下理解的    我自學了彙編   把操作系統和計算機組成原理頁啃了一遍     所以從原理上對指針的理解更直觀

我現在正在學習數據結構和算法(在學習數據結構和算法的時候  其實都是爲節省更少的空間和時間來出發的  就牽涉到內存的管理)   


我數學不是很好   不過我不是說想去自己寫一個操作系統  自己寫一個編譯器   我只是想通過學習C|C++ 能去更深入的理解PHP和網絡編程

所以在我目標明確的情況下  我就不存在懼怕 或者 認爲自己基礎不好而不邁出自己去探索更深的東西的接口

  

下列的事指針的表現形式


1,一個整形數:  int a;

2,一個指向整形數的指針: int *a;

3,一個指向指針的指針,它指向的指針指向一個整形數:  int **a;

4,一個有10個整形數的數組: int a[10];

5,一個有10個指針的數組,每個指針指向一個整形數: int *a[10];

6,一個指向有10個整形數的數組的指針:  int (*a)[10];

7,一個指向指針的指針,被指向的指針指向一個有10個整形數的數組: int (**a)[10];

8,一個指向數組的指針,該數組有10個整形指針:  int *(*a)[10];

9,一個指向函數的指針,該函數有一個整形參數並返回一個整形數: int (*a)(int);

10,一個有10個指針的數組,每個指針指向一個函數,該函數有一個整形參數並返回一個整形數:                      int (*a[10])(int);

11,一個函數的指針,指向的函數的類型是有兩個整形參數並且返回一個函數指針的函數,返回的函數指針指向有一個整形參數且返回整形數的函數:  int (*(*a)(int,int))(int);



需要區分的幾個有關指針的問題:

1.const指針與指向const的指針

    1)const 指針:指針是const,

比如:int * const x;

     表示指針不能修改,不能指向其他對象,但是指針所指向的地址的值可以修改;

    2) 指向const的指針:指針指向const對象

        比如:const int *x;

          或:int const *x;

     表示指針可以指向其他對象,但指針所指的當前對象的值不可以修改。

2.函數指針與函數返回指針

     1)函數指針:指向函數的指針

         比如:int (*p)(int x, int y);

       表示p爲一個指針,指向函數的首地址;

     2)函數返回指針:函數的返回值爲指針類型

        比如:int *p(int x, int y);

       表示該函數返回值爲指針類型。

3.數組指針與指針數組

     1)數組指針:指向數組的指針

        比如:int (*p)[10];

      表示一個指針,指向具有10個整形元素的一維數組;

     2)指針數組:數組元素爲指針的數組

       比如:int *p[10];

      表示一個一維數組,元素均爲整形指針。



這裏給個鏈接  也是一個自學C的哥們寫的學習計劃,覺得還不錯:

http://blog.csdn.net/chgaowei/article/details/4731498


再說一次:

我們學習東西,一定要有目的去學習,因爲現在是信息大爆炸時代,我們總感覺自己需要學習的東西太多,沒有目的或者目標的話,你總覺得自己還有好多東西不會,總覺得自己是個菜鳥,這樣會讓自己缺乏信心和學習的動力,所以帶着目標去學習吧,騷年,學東西,不在多而在專,遲早我們也是某一領域的大牛!




內置函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章