• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    程序員考試補課筆記-第九天

    發布: 2007-5-26 13:51 | 作者: 未知 | 來源: 互聯網 | 查看: 17次 | 進入軟件測試論壇討論

    領測軟件測試網
    今天終于到了C語言的核心部份了,指針一直都是被學習C語言公認為最難的一個大重點了,如果假如我們不學C語言的指針的話,那我們可以說根本沒有學過C語言了。不過話說回來,在我剛開始接觸C的時候前面的基本語法倒是很快的過了,可是學到指針結合到數組里就傻了眼,因為我根本看不明為什么可以有這么多的數組調用方式(結合指針)。其實我下面的三言兩語也很難說的明白指針這家伙的,請大家在上機里多多調試看看,待增加了經驗后再回頭看看指針這章,相信也能全摸透了。因為我也是這樣過來的,我還特別看了很多運用指針方面的源程序。
      現在我們就從相對于二維數組來說比較簡單的一維數組開始吧,先看看如何定義一個指向一維數組的指針吧。
    int a[5]={1,2,3,4,5};
    int *p;
    p=a; /*這里a因為是數組的變量名,它的值是這個數組的首地址*/
    跟著我們可以通過指針來改變數組的值
    p++;
    *p=6; /*那么數組的第二個元素就等于6了*/
      這里的意思就是讓指針向下移一個,這樣一來指向了數組的第二個元素。我們再細一點看看它的地址,通過這個指針,即當前指向的元素的地址。那么地址又是怎么運行的呢?p++這個命令就是讓地址往下移的了,如果按照數組a 的類型來看,數組a是一個整數的類型,占的空間是兩字節,而p++就只加1,頂多都是到第一個元素的后一半里,哪里可以指到第二個元素呢?其實這里就關系到定義指針時的類型,我們這里定義的也是整型類型,"對啊,這里定義整型是對的啊,因為它要指向整形數據嘛,那么當然就是一定要定義這種類型啦",其實這并不是真正的答案,而且也不必一定要定義為跟指向的數據一樣類型,我們完全可以定義指針的類型為其它的。就比如定義為float吧,不過這里執行p++就直接跳過了一個數組元素,那么現在我們來看看究竟是怎么一回事。其實我們定義的指針類型就是用來結合指針,進行一定規則的運算方式。這里很明顯可以看出如果是定義int 類型的就可以到第二個元素,說明了p++不是簡單的地址加一,而是先結合這個是什么類型才進行運算的,加一次就等于地址移了2位了。float道理一樣移4位,所以得到的結合是移到第三個元素。再往下看看:
    a=a+1;
    這里我們進行地址移位賦值,不過這條命令是錯誤的,C語言里數組名是一個地址常量,所以不以試圖改變它的值。
    接下來簡單地說一說二維數組,因為我們今天的任務就是首先搞清一維數組先,F在我們先來定義一個二維數組
    int a[2][4];
      這里我不再重復書里講的東西,我講一下老師給我們的那種思想。我們這樣來看一個二維數組,就是一維數組的元素又為是一維數組,這樣嵌套。當然其它的多維數維都是這樣一直嵌套下去的了。我們先看看這個圖如圖第九天圖一這樣就很容易說明了為什么a[0] 和 &a[0]為什么是一樣都是代表著地址,其實都只是首地址,這里從文字很難可以說通,但是從意義上就可以理解。我們把二維數組的整列都充當為一個一維數組,不把它看作二維,這樣得出如下:
    a[1][1];
    充當一維 M為名
    M[1]; /*調用第二個元素*/
    我們試著把所有都這樣看作,定義這樣的一個一維數組
    int a0[4],a1[4],a2[4];
    這樣一來,我們就知道a0、a1、a2都是首地址了。
    好了,可能也越說越模糊了,如果看不明白還是按照自己原來的思想去考慮數組吧,這是因為每個人都有自己的的想法和理解。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>