實用的指針用法數組
能夠用指針作下面四個最基本的操做:
一、向OS申請一塊內存,而且用指針處理它。這包括字符串,和一些你歷來沒見
過的東西,好比結構體。
二、經過指針向函數傳遞大塊的內存(好比很大的結構體),這樣沒必要把所有數據
都傳遞進去。
三、獲取函數的地址用於動態調用。
四、對一塊內存作複雜的搜索,好比,轉換網絡套接字中的字節,或者解析文件。網絡
對於其餘情況,應當儘量使用數組,而將指針做為加速程序和優化的手段,緣由在於現在訪問數組或指針的語法都會翻譯為相同的機器碼,並且表現一致。函數
==========================================================================指針
sizeof() 函數記錄的是所讀取變量或數組結構體等所佔內存的大小,當讀取數組時,會將‘\0’計入長度;對象
strlen所做的僅僅是一個計數器的工做,它從內存的某個位置(能夠是字符串開頭,中間某個位置,甚至是某個不肯定的內存區域)開始掃描,直到碰到第一個字符串結束符'\0'爲止,而後返回計數器值(長度不包含'\0')。內存
strlen(char*)函數求的是字符串的實際長度,它求得方法是從開始到遇到第一個'\0',若是你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到'\0'中止。字符串