指標變數(一級指標)
指標變數用來記錄位址數字
只有**過的指標才能使用
在**過的指標前加*可以表示**變數的儲存區
指標也分型別,不同型別的指標適合與不同型別的儲存區**
//指標演示
#include
void
main()
以上例子中p_num = #
我將這種指標指向變數的用法理解為**。
指標 可以在一條語句中宣告多個同型別的指標變數,但是必須在每個指標變數名稱之前加*
int *p_num,*p_num1;
沒有**的指標分為兩類:
1.空指標裡面記錄空位址(null),這個位址的數值就是0
2.除了空指標以外的沒有**的指標都叫野指標
野指標是指 不知道指向**的指標
程式設計師必須保證程式中不會出現野指標
所以指標變數必須初始化
指標宣告語句中的 *不參與初始化過程
int
*p;*p=
&a;
其中 * 意義不一樣 ;前者實際意義,只是讓你區分指標;後者意義是指標p的值
例子:編寫程式從鍵盤得到三個數字,按照從大到小的順序將三個數字列印到螢幕上.
//不使用指標實現方式
#include
void
main()
if(num < num2)
if(num1 < num2)
printf
("%d %d %d\n"
,num,num1,num2)
;return0;
}
/使用指標實現方式
#include
void
main()
if(*p_num <
*p_num2)if(
*p_num1 <
*p_num2)
printf
("%d %d %d\n"
,*p_num,
*p_num1,
*p_num2)
;return0;
}
指標變數和普通變數之間的**關係會隨著程式的執行不斷改變
可以把指標看做是變數的某種身份
指標與變數都是有位址的
指標就是位址,指標變數就是在執行中,存放位址變數的;也就是說 指標 指向的位址不斷變化;
我認為指標是個特殊的變數;
C語言中指標大全
1.使用二維字串儲存字串的時候會出現儲存浪費的情況,使用指標陣列儲存則不會 char s for i 0 ifor i 0 i 3 i 2.指標陣列作為函式引數傳遞多個字串給另乙個函式。指標陣列是乙個陣列,只是裡面存放了指標 void str sort char s,int n n代表指標陣列的長度...
C語言中指標的操作
c語言中指標操作主要有以下幾種 指標減去乙個整數 模擬上面的4。指標自減 模擬上面的5.求差值 通常對指向乙個陣列兩個不同元素的指標求差值,代表兩個元素位置的差值。示例 include int main void int ptr1,ptr2,ptr3 ptr1 urn ptr2 urn 2 prin...
C語言中指標和陣列
首先,明確乙個概念,指標是什麼,一旦提到這個老生常談且富有爭議性的話題,那真是1000個人有1000種看法。在國內的很多教材中,給出的定義一般就是 指標就是位址 從初步理解指標的角度來說,這種說法是最容易理解的,但是這種說法明顯有它的缺陷所在。指標就是位址 這種說法相當於 指標 字面值位址 或者說乙...