指针是什么?
在网上看了很多帖子,总结得出指针是C语言的精髓所在;
学完指针后,总结道:指针就是内存中的地址;
我们在写某个程序中,编译器在编译后,会给程序中的变量在内存中分配一个地址,通过访问该地址,找到所需的变量。C语言讲该变量的地址称为该变量的“指针”!!!如果使用一个变量存在某个变量的地址,我们就说这个变量是指针变量,称该指针变量指向某个变量;
指针变量的相关定义
&: 取地址运算符
*:指针运算符/”间接访问”运算符
我用字符型举列子,剩下来的递推即可
定义一个指向字符型变量指针p:char *p
char :代表这个指针指向的变量是字符型
*代表p是指针
p=&a;说明这个指针是指向a,p存放的是a的内存地址;
通过*运算符来引用指针变量,实现对变量间接访问的操作;
即*p==a;
指针的加减运算:
假定p指向的变量是int型;且一个int型是4个字节
p++代表p指向下一个存放int型变量的地址
设p=1000;那么p+1 代表1004,即p在原来的基础上加了2个字节