在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于C語言中指針的基本用法解析

GReq_mcu168 ? 2018-01-09 15:12 ? 次閱讀

很多初學者會發出這樣的感慨:我C語言中其它的知識都學得可以,唯獨指針搞不懂。如果是這樣,我可以很負責的告訴你,對于這門編程語言,你等于是沒學。所以學好指針對于初學者是非常重要的。或許你會覺得它有點抽象,但是當你徹底理解了指針的含義,你會發現指針用起來特別方便。

今天我就很膚淺的說一下指針的幾種用法:

1、指針指向變量:

下面有這樣一個代碼塊:

int main()

{int a=10;int b=15;test(a,b);printf("a=%d,b=%d ",a,b);}

void test(int x,int y)

{int tmp;tmp=x;x=y;y=tmp;}

最后輸出的結果還是a=10,b=15。因為在函數調用時,實參和形參之間只是值傳遞。但我們使用指針結果就不一樣了,如:

int main()

{int a=10;int b=15;test(&a,&b);printf("a=%d,b=%d ",a,b);return 0;}

void test(int * x,int *y)

{int tmp;tmp=*x;*x=*y;*y=tmp;}

輸出結果a=15,b=10。變量a和b的值發生了交換。這是因為我們利用指針訪問變量的存儲單元,間接修改變量的值。

2、指針指向數組:

定義一個數組并初始化,int array[5]={2,5,12,7,8},定義一個指針變量并把數組的地址賦給它,int *p=array,注意數組名就是數組的地址,而且數組的地址就是首元素的地址。因此我們的指針變量就指向了數組的首元素,*p=2。如果把(p+1),那么指針變量就指向了數組的下一個元素5,因此我們可以利用指針來遍歷數組的各個元素:

int main()

{int array[5]={2,5,12,7,8};int *p =array;for(int i=0;i<5;i++){printf("array[%d]=%d ",i,*(p+i));}return 0;}

3、指針指向字符串:

我們都知道用數組存儲字符串,如char name[20]="jack",上面已經簡單講述了指針指向數組,所以我們可以這樣做,char *name="jack",指針變量指向字符串的首個字符并可以依次訪問字符串的各個字符。

4,指針指向函數:

我們需要知道怎樣表示一個指針指向函數,說白了就是語法要正確,下面我也取一個代碼塊來說明一下:

int sum(int x,int y)

{return x+y;}

int main()

{int a=5;int b=6;int (*p)(int,int);p=sum;int result=(*p)(a,b);printf("The result is %d ",result);return 0;}

不難發現上面代碼塊里語句(*p)(a,b)可以用p(a,b)來代替,因為p和sum就是一樣的,只是用前者可能更容易理解一點。而我們要知道怎樣定義一個指針指向函數,int (*p)(int,int)這是固定寫法,前面的int是指針將來指向的函數的返回值的類型,如果沒有函數返回值,那就是void,后面括號里的兩個int 當然就是指針將指向的函數的形參。指針指向函數用起來確實有點抽象,要想熟練運用的話就多去做一些這方面的練習吧!

5,指針指向結構體:

我們首先首先定義一個結構類型,

struct student

{

char *name;

int ages;

};

再根據類型定義結構體變量 struct student stu={"Rose",15};定義一個指針指向結構體類型,struct student *p;把結構體變量stu的地址賦給指針變量p,p=&stu;我們可以有3種方式來訪問結構體中的屬性ages:

stu.ages=15;(*p).ages=15;p->ages=15;不過第三種方式在C語言中只能用來指向結構體。

綜上所述,指針的基本用法就是這幾種,還有些用法不常見的小編在此就一一例舉了,有興趣的話可以去翻閱相關的資料

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7604

    瀏覽量

    136845
  • 指針
    +關注

    關注

    1

    文章

    480

    瀏覽量

    70564

原文標題:C語言中指針的幾種用法

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言中指針變量的使用

      在使用時,一定要注意上面“*“號的用法差異。還需要注意的是,一個指針變量只能指向與其數據類型相同的變量。
    發表于 08-15 15:12 ?2119次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中指針</b>變量的使用

    C語言中指針的定義

    上一節中,我們利用了一個小知識來介紹了一下指針,在上面這個例子中,小明和小麗手中的這個杯子就好比我們C語言中的變量,它確實是實實在在存放一些有具體意義的數據。這個杯套就類似于C
    發表于 08-15 16:24 ?1823次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中指針</b>的定義

    C語言中指針的命令行參數

    指針C語言最重要也是最難理解的部分,它在我們平時的工作中無處不在。
    的頭像 發表于 09-26 10:18 ?1154次閱讀

    C語言中void指針的基本認識及典型應用

    C語言中,*類型就是指針類型,比如 int *p,double *q,雖然是不一樣的指針,但是大小卻一樣sizeof(p) == sizeof(q),因為它們都是同一種類型*類型的。
    發表于 02-01 09:26 ?1101次閱讀

    C語言中指針函數和函數指針的概念及應用示例

    C語言中指針函數和函數指針是強大且常用的工具。它們允許我們以更靈活的方式處理函數和數據,進而擴展程序的功能。
    發表于 08-16 16:14 ?903次閱讀

    C語言中多級指針的概念和使用方法

    多級指針C語言中是一種特殊的指針類型,它可以指向其他指針指針
    發表于 08-16 16:16 ?1107次閱讀

    C語言中指針的基本概念和用法

    C語言中指針是一項重要的概念,它允許我們直接訪問和操作內存地址。
    發表于 08-17 15:30 ?781次閱讀

    談談C語言中指針有什么好處,請各位高手們談談自己的體會

    談談C語言中指針有什么好處,請各位高手們談談自己的體會...
    發表于 09-01 17:38

    語言中指針的介紹

    的內容。在C語言中, 允許用一個變量來存放指針,這種變量稱為指針變量。因此,一個指針變量的值就是某個內存單元的地址或稱為某內存單元的指針。圖
    發表于 09-10 14:22

    C語言中指針是什么?如何規避野指針

    C語言中指針是什么?有哪幾種類型?指針有何作用?如何規避野指針
    發表于 02-25 06:47

    C語言中指針的介紹非常詳細

    C語言中指針的介紹非常詳細 C語言中指針的介紹非常詳細
    發表于 12-25 10:39 ?57次下載

    C語言中指針(重點)超詳細

    C語言中指針1、指針是什么2、指針指針類型2.1、指針
    發表于 01-13 14:10 ?11次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的<b class='flag-5'>指針</b>(重點)超詳細

    C語言進階】C語言指針的高階用法

    C語言進階】C語言指針的高階用法
    的頭像 發表于 08-31 13:24 ?2340次閱讀

    C語言中什么是指針數組

    C語言中一個數組,若其元素均為指針類型數據,稱為指針數組,也就是說,指針數組中的每一個元素都存放一個地址,相當于一個
    的頭像 發表于 03-10 15:26 ?1774次閱讀

    簡述C語言中指針重點

    C語言中一個函數可以返回一個整型值、字符值、實型值等,也可以返回指針型的數據,即地址,其概念與以前類似,只是返回的值的類型是指針類型。
    的頭像 發表于 03-10 15:28 ?609次閱讀
    主站蜘蛛池模板: 日本午夜大片a在线观看| 欧美xxxx色视频在线观看| 久久好色| 天天操狠狠干| 在线视频观看一区| 四虎精品永久在线| 成人免费看毛片| 777奇米四色米奇影院在线播放| 国产在线欧美精品卡通动漫| 欧美video free xxxxx| 天天天操天天天干| 亚洲视频区| 欧美三级中文字幕hd| 天天操天天摸天天干| 欧美极品在线视频| 免费黄色| 久艹精品| 亚洲人成人| 日本欧美一区二区免费视| 色婷婷综合久久久久中文一区二区| 成人18视频拍拍拍拍拍拍| 欧美性猛交xxxx| 色婷婷综合网| 天天色视频| 卡一卡二卡三国色天香永不失联| 米奇色影院| 狠狠操天天操夜夜操| 亚洲第一区第二区| 人人爽人人爱| 天堂网在线新版www| 成人国产精品一级毛片了| 婷婷狠狠| 亚洲偷图色综合色就色| 男女无遮挡在线完整视频| 久久美女视频| 人人玩人人干| 亚洲精品久久久久久婷婷| bt 另类 专区 欧美 制服| 亚洲福利视频一区二区三区| 可以直接看的黄址| 色5566|