15-黑馬程式員------C 語言學習筆記---數組和指標

來源:互聯網
上載者:User

標籤:

黑馬程式員------<a href="http://www.itheima.com" target="blank">Java培訓、Android培訓、iOS培訓、.Net培訓</a>、期待與您交流! -------

四 數組和指標

01 數組名代表數組在記憶體中的首地址,表示的是地址資訊,因此數組名可以理解為一個指標,不過數組名是一個常量,不能改變.

#include <stdio.h>int main(){        char name[]="haha";        char name1[]="gggg";        char name3[2][10] = {"fffff","jjjjj"};        printf("%s\n",name3[0]);                                                        return 0;}

 

02 指向數組的指標:定義指向數組的指標就是將數組的首地址賦值給指標變數.

如:int a[10];

   int *p; p=&a[0];

p=&a[0]等價於p=a            

#include <stdio.h>int main(){        char name[]="haha";        char name1[]="gggg";        char name3[2][10] = {"fffff","jjjjj"};        printf("%s\n",name3[0]);                                                        return 0;}

 

03 通過指標引用數組元素:p+i表示a[i]的地址,*(p+i)表示數組元素a[i]

04 可以改變指標變數的值,但指標常量不可改變.指標運算子的優先順序最高

05 多維陣列和指標:

x[i]等價於*(x+i)

&x[i]等價於x+i

/* 1.數組元素的訪問方式 int ages[5]; int *p; p = ages; 1> 數組名[下標]  ages[i] 2> 指標變數名[下標] p[i] 3> *(p + i)  2.指標變數+1,地址值究竟加多少,取決於指標的類型 int *   4 char *  1 double * 8 */#include <stdio.h>void chang(int *array);int main(){        int ages[] = {10,5,55,66,45};        chang(ages);        return 0;    }void chang(int *array){    printf("%d\n",array[2]);    }

 

06 指向多維陣列元素的指標變數:

指向由m個元素組成的一維數組的指標變數的定義為: 類型名(*指標變數名)[長度]; 如:int(*pa)[4];

07 字串和指標:

在對字串中的字元進行存取時,可以定義一個指標變數,指向字串中的第一個字元,再利用指標的移動來訪問字串中得字元

 

15-黑馬程式員------C 語言學習筆記---數組和指標

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.