日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【C语言学习】国嵌21__指针基础

發(fā)布時(shí)間:2024/4/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C语言学习】国嵌21__指针基础 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

一、指針基礎(chǔ)

變量只是一段存儲(chǔ)空間的別名,那么是不是必須通過這個(gè)別名才可以使用這段存儲(chǔ)空間?答案是否定的。我們還可以通過指針也就是地址的方式來訪問某段存儲(chǔ)空間。

#include?<stdio.h>int?main() {int?i?=?5;int*?p?=?&i;printf("%d,?%08X\n",?i,?p);*p?=?10;printf("%d,?%08X\n",?i,?p);return?0; }

運(yùn)行結(jié)果:

5, 0022FF48
10, 0022FF48

2、指針的本質(zhì)

# 指針在本質(zhì)上也是一個(gè)變量

# 指針需要占用一定的內(nèi)存空間

# 指針用于保存內(nèi)存地址的值

不同類型的指針占用內(nèi)存空間的大小相同。

#include?<stdio.h>int?main() {int?i;int*?pI;char*?pC;float*?pF;pI?=?&i;*((int?*)0x22ff4c)?=?100;?printf("%0X,?%0X,?%d\n",?pI,?&i,?i);printf("%d,?%d,?%0X\n",?sizeof(int*),?sizeof(pI),?&pI);printf("%d,?%d,?%0X\n",?sizeof(char*),?sizeof(pC),?&pC);printf("%d,?%d,?%0X\n",?sizeof(float*),?sizeof(pF),?&pF);return?0; }

運(yùn)行結(jié)果:

22FF4C, 22FF4C, 100
4, 4, 22FF48
4, 4, 22FF44
4, 4, 22FF40

程序?qū)崿F(xiàn)的功能:1、指針占用的內(nèi)存空間2、指針的地址3、通過*號寫內(nèi)存

*號的意義

# 在指針聲明時(shí),*號表示所聲明的變量為指針

# 在指針使用時(shí),*號表示取指針?biāo)赶虻膬?nèi)存空間中的值。*號類似一把鑰匙,通過這把鑰匙可以打開內(nèi)存,讀取內(nèi)存中的值

# “*”還代表乘號

3、傳值調(diào)用與傳址調(diào)用

# 指針是變量,因此可以聲明指針參數(shù)

# 當(dāng)一個(gè)函數(shù)內(nèi)部需要改變實(shí)參的值,則需要使用指針參數(shù)

# 函數(shù)調(diào)用時(shí)實(shí)參值將復(fù)制到形參

# 指針適用于復(fù)雜數(shù)據(jù)類型作為參數(shù)的函數(shù)中

利用指針實(shí)現(xiàn)變量交換函數(shù):

#include?<stdio.h>#define?SWAP(a,?b)?{int?t?=?a;?a?=?b;?b?=?t;}?//宏定義也可以實(shí)現(xiàn)變量交換void?swap(int?*a,?int?*b)?//函數(shù)定義實(shí)現(xiàn)變量交換 { int?t?=?*a; *a?=?*b; *b?=?t; }int?main() { int?i?=?1;? int?j?=?9;printf("%d,?%d?\n",?i,?j);swap(&i,?&j);printf("%d,?%d\n",?i,?j);return?0; }

4、常量與指針

# const int *p; ? ? ? //p可變,p指向的內(nèi)容不可變

# int const *p; ? ? ? //p可變,p指向的內(nèi)容不可變

# int *const p; ? ??/p不可變,p指向的內(nèi)容可變

# const int * const p;? //p和p指向的內(nèi)容都不可變

記憶口訣:左數(shù)右指

當(dāng)const出現(xiàn)在*號左邊時(shí)指針指向的數(shù)據(jù)為常量,當(dāng)const出現(xiàn)在*后右邊時(shí)指針本身為常量

指針小結(jié):

# 指針是C語言中一種特別的變量

# 指針?biāo)4娴闹凳莾?nèi)存的地址

# 可以通過指針修改內(nèi)存中的任意地址內(nèi)容



轉(zhuǎn)載于:https://my.oschina.net/u/141132/blog/265535

總結(jié)

以上是生活随笔為你收集整理的【C语言学习】国嵌21__指针基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。