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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章