指针运算

指针的类型与指针指向的类型明显不相等

指针的类型表示指针自身的类型; 指针指向类型表示指针指向数据(内存)的类型。

short    *p = 0;

char     **p = 0;

p++;

q++;

printf("%d -- %d\n", p, q);


在32位系统中结果是2,4;

p指向short类型,步进为2;

q指向char*类型,步进为4;

关于指针别想复杂了,其实就是一个普通变量而已

int a; //a是一个int类型的变量,它的值是一个整数

int *pa = &a; //pa 是一个int *类型的变量,它的值是一个int型变量的地址

int **ppa = &pa; //ppa是一个int **型的变量,它的值是一个int *型变量的地址


延伸:

数组取值  int  a[10];

数组名代表数组首地址,假设a地址为0x28fe90

a + 1     地址为0x28fe90 + sizeof(int)

&a         地址为0x28fe90

&a + 1  地址为0x28fe90 + 10 * sizeof(int) + 1这个过程会把a看做 int[10]   a(可以理解为int[10]类型的变量 a); 所以对数组取&操作 长度为一个数组的长度

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,534评论 3 44
  • 今天小编给大家带来c语言学习之路--由浅入深(快速掌握c基础)。温馨提示:亮点在最后! 1.第一个C程序:Hell...
    云上伞阅读 617评论 0 1
  • 今天小编给大家带来c语言学习之路--由浅入深(快速掌握c基础)。温馨提示: 1.第一个C程序:HelloWorld...
    诸葛青云999阅读 783评论 0 4
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,453评论 0 2
  • 不论是哑光还是滋润款 不论是经典色还是最新爆红色 不管你是上班 趴体 还是 上学 统统一网打尽 持续爆火的经典 1...
    模糊伦家阅读 231评论 0 0