C 语言中的指针介绍

来源:互联网 发布:穿越还珠之我是知画txt 编辑:程序博客网 时间:2024/05/17 22:31

int c = 1, d = 2;int *p;p = &c;        // int 型指针 p 指向 cd = *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 指向 xprintf("x = %d, y = %d, *p = %d\n", x, y, *p);y = *p;// 把 p 指向地址的值(x)赋给 y,故 1 = y = *p = x*p = 0;// 把 p 指向地址的值改为 0,即 x = 0p = &z[0];printf("x = %d, y = %d, *p = %d\n", x, y, *p);return 0;}


运行结果如下: