C語言中指標的不同操作以及指標的問題是什麼?


指標是一個變數,其值是另一個變數的地址,即記憶體位置的直接地址。像任何變數或常量一樣,您必須在使用指標儲存任何變數地址之前宣告它。

考慮以下語句:

int qty = 179;

變數在記憶體中的表示如下:

您可以如下宣告指標:

Int *p;

這意味著“p”是一個指標變數,它儲存另一個整型變數的地址。

地址運算子 (&) 用於初始化指標變數。

例如:

int qty = 175;
int *p;
p= &qty;

要訪問變數的值,使用間接運算子 (*)。

例如:

‘*’可以被視為地址處的值。

這兩個語句等效於以下語句:

 p = &qty;
 n = *p; n =qty

不同的指標操作

C語言中的指標操作解釋如下:

  • 賦值 - 我們可以使用 &(地址運算子)將地址賦給指標。

  • 查詢值 - 這實際上是解引用,其中 * 運算子給出儲存在指向位置的值。

  • 獲取指標地址 - 與其他變數一樣,指標變數也有地址和值,藉助地址運算子,我們可以找到指標本身的儲存位置。

  • 將整數加到指標 - 我們可以使用 + 運算子將整數加到指標或指標加到整數。在這裡,在這兩種情況下,整數都乘以指向型別的位元組數,並將結果加到原始地址。

  • 遞增指標 - 它是一個數組元素,可以移動到陣列的下一個元素。

  • 從指標中減去整數 - 我們使用 –(減號)運算子從指標中減去整數。整數乘以指向型別的位元組數,並將結果從原始地址中減去。

  • 遞減指標 - 遞減指標指向之前的而不是之前的地址,我們可以對遞減運算子使用字首和字尾形式。

  • 減法 - 我們可以找到兩個指標的差值。通常,我們用來找出元素的距離。

  • 比較 - 我們將使用關係運算符來比較兩個指標的值。

示例

以下是演示C語言中指標操作功能的程式:

#include<stdio.h>
main ( ){
   int x,y;
   //Declaring a pointer
   int *p;
   clrscr ( );
   x= 10;
   //Assigning value to a pointer
   p = &x;
   y= *p;
   printf ("Value of x = %d", x);
   printf ("x is stored at address %u", &x);
   printf ("Value of x using pointer = %d", *p);
   printf ("address of x using pointer = %u", p);
   printf (“value of x in y = %d", y);
   *p = 25;
   printf ("now x = %d", x)
   getch ( );
}

輸出

執行上述程式時,您將得到以下輸出:

Value of x = 10
x is stored at address = 5000
Address of x using pointer = 10
Address of x using pointer = 5000
Value of x in y = 10
Now x = 25

更新於:2021年3月15日

3K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.