溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言指針的詳細介紹

發(fā)布時間:2021-07-30 13:45:22 來源:億速云 閱讀:159 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“C語言指針的詳細介紹”,在日常操作中,相信很多人在C語言指針的詳細介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C語言指針的詳細介紹”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

目錄
  • 指針是什么?

  • 指針和指針類型

  • 指針運算


指針是什么?

總結(jié):指針就是個變量,變量里面是地址,指針就是地址。(存放在指針的值都被當(dāng)成地址處理)。

:指針的大小在32位平臺是4個字節(jié),在64位平臺是8個字節(jié)。

指針和指針類型

通過前面的知識我們知道,變量有不同的類型,如:整形,浮點型等。

同理:指針也有不同的類型。

**指針的定義方式:

變量類型 + *

比如:

int * pi=NULL char * pc=NULL short * ps=NULL long *pl=NULL float *pf=NULL double *pd=NULL …

指針類型的意義?

指針±整數(shù)

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int n = 10;
	char *pc = (char*)&n;
	int *pi = &n;
	printf("n=%p\n", &n);
	printf("pc=%p\n", pc);
	printf("pi=%p\n", pi);
	printf("pc+1=%p\n", pc + 1);
	printf("pi+1=%p\n", pi + 1);
	return 0;
}

總結(jié):指針的類型決定了指針向前或者向后走一步有多大(距離)。

指針的解引用

指針運算

  • 指針±整數(shù)

  • 指針-指針

  • 指針的關(guān)系運算

:指針相減前提,指向的地址相等

指針±整數(shù)

#define MAX 5
int arr[5];
int *p;
//指針+-整數(shù)
for(p=&arr[0] ;p<&a[MAX]; )
{
     *p++ =0;
}

指針-指針

int my_strlen(char *s)//沒有指針減指針
{
	char *p = s;
	while (*p != '\0')
		p++;
	return p - s;
}

指針的關(guān)系運算

for (p = &arr[MAX]; p > &arr[0])
{
	*--p;
}

標(biāo)準規(guī)定:允許指向數(shù)組元素的指針與指向數(shù)組最后一個元素后面的那個內(nèi)存位置的指針比較,但是不允許與指向第一個元素之前的那個內(nèi)存位置的指針進行比較。

到此,關(guān)于“C語言指針的詳細介紹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI