C語言中指標的操作

2021-08-26 07:46:51 字數 1284 閱讀 9004

c語言中指標操作主要有以下幾種:

指標減去乙個整數:模擬上面的4。

指標自減:模擬上面的5.

求差值:通常對指向乙個陣列兩個不同元素的指標求差值,代表兩個元素位置的差值。

示例:

#include int main(void) 

; int *ptr1,*ptr2,*ptr3;

ptr1 = urn;

ptr2 = &urn[2];

printf("pointer value, dereferenced pointer, pointer address:\n");

printf("ptr1 = %u, *ptr1 = %d, &ptr1 = %u\n",ptr1,*ptr1,&ptr1);

//指標加法

ptr3 = ptr1 + 4;

printf("adding an int to a pointer:\n");

printf("ptr1 + 4 = %u,*(ptr1 + 4)=%d\n",ptr1+4,*(ptr1+4));

//指標自增

ptr1++;

printf("values after ptr1++:\n");

printf("ptr1=%u,*ptr1=%d,&ptr1=%u\n",ptr1,*ptr1,&ptr1);

//指標自減

ptr2--;

printf("values after ptr2--:\n");

printf("ptr2=%u,*ptr2=%d,&ptr2=%u\n",ptr2,*ptr2,&ptr2);

--ptr1;

++ptr2;

printf("pointers reset to original values:\n");

printf("ptr1=%u,ptr2=%u\n",ptr1,ptr2);

//指標相減

printf("subtracting one pointer from another:\n");

printf("ptr2=%u,ptr1=%u,ptr2-ptr1=%u\n",ptr2,ptr1,ptr2-ptr1);

//乙個指標減去乙個整數

printf("subtracting an int from a pointer:\n");

printf("ptr3=%u,ptr3-2=%u\n",ptr3,ptr3-2);

}

程式執行結果如下圖:

C語言中指標大全

1.使用二維字串儲存字串的時候會出現儲存浪費的情況,使用指標陣列儲存則不會 char s for i 0 ifor i 0 i 3 i 2.指標陣列作為函式引數傳遞多個字串給另乙個函式。指標陣列是乙個陣列,只是裡面存放了指標 void str sort char s,int n n代表指標陣列的長度...

C語言中指標和陣列

首先,明確乙個概念,指標是什麼,一旦提到這個老生常談且富有爭議性的話題,那真是1000個人有1000種看法。在國內的很多教材中,給出的定義一般就是 指標就是位址 從初步理解指標的角度來說,這種說法是最容易理解的,但是這種說法明顯有它的缺陷所在。指標就是位址 這種說法相當於 指標 字面值位址 或者說乙...

C語言中指標整理1

指標變數 一級指標 指標變數用來記錄位址數字 只有 過的指標才能使用 在 過的指標前加 可以表示 變數的儲存區 指標也分型別,不同型別的指標適合與不同型別的儲存區 指標演示 include void main 以上例子中p num 我將這種指標指向變數的用法理解為 指標 可以在一條語句中宣告多個同型...