C 語言中的指針介紹

int c = 1, d = 2;
int *p;
p = &c;        // int 型指針 p 指向 c
d = *p;        // 指針 p 所指向的值賦值給變量 d

把變量 c 的地址賦值給變量 p,我們稱 p 爲指向 c 的指針。

地址運算符 & 只能應用於內存中的對象,即變量和數組數組元素,它不能作用於表達式、常量還有 register 類型變量。


一元運算符 * 是間接尋址或者間接引用運算符,當它作用於指針式,將訪問指針所指向的對象。



#include<stdio.h>

int main()
{
	int i;
	int x = 1, y = 2;
	int z[10] = {10};
	int *p;

	for(i = 0;i < 10;i++)
	{
		printf("%d\n", z[i]);
	}

	p = &x;			// p 指向 x
	printf("x = %d, y = %d, *p = %d\n", x, y, *p);
			
	y = *p;			// 把 p 指向地址的值(x)賦給 y,故 1 = y = *p = x
	*p = 0;			// 把 p 指向地址的值改爲 0,即 x = 0
	p = &z[0];

	printf("x = %d, y = %d, *p = %d\n", x, y, *p);

	return 0;
}


運行結果如下:












發佈了51 篇原創文章 · 獲贊 17 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章