一、指针的概念
指针是一种保存变量地址的变量,不管你存入的是什么值都当作地址看待。
二、指针的运用
// 声明指针变量p
int* p ;
//声明并初始化
int a = 10;
int* p = &a;
//声明与初始化分开
int a = 10;
int *p;
p = &a;
很多初学者可能会范 *p = &a; 的错误. 他们可能把 *p 理解为指针变量. 其实指针变量为p. 先看下面的.
*操作符: 在声明明为指定声明指针, 出现在变量前(*p) 有的书称为解引用或取地址的值. *号的位置和不同的地方使用给人产生了困惑, 函数指针与指针函数的时候再讨论
根据指针的概念我们知道指针变量中存放的是地址.
#include <sdtio.h>
int
main(int argc, char* argv[])
{
int a = 10;
int* p = &a;
*p = 5;
printf("a = %d", a);
return 0;
}
a=5
a 是一块4字节(32位机器上)的内存地址的一个别名, 该地址存放着5.
指针变量 p 存放着 a 的地址
*p :访问p中存放的地址, 就相当于变量 a , 给 *p 赋值就相当于给变量a 赋值 .