c语言指针向左偏移n位怎么写,C语言指针使用总结

前言

这篇博客是转载@qyuhen大神知名的C99学习笔记,总结了一下其中关于指针内容的介绍。

项目中需要用到大量的c编程,所以借着学习的机会顺便记录读书笔记。

指针常量

指针常量就是指“类型为常量的指针”,初始化后不能被修改,固定指向某个内存地址。也就是说,我们不能修改指针自身的值,但是可以修改指针指向目标的值。

int x[] = {1, 2, 3, 4};

int* const p = x;

for (int i = 0; i < 4; i ++) {

int v = *(p + i);

*(p + i) = ++v;

printf("%d\n", v);

// p ++; // Compile Error!

}

常量指针

常量指针是指“指向常量数据的指针”,指针指向的目标被当作常量处理,不能通过指针做赋值操作。指针自身并非常量,可以指向其他位置,但依然不能做赋值操作。

int x = 1, y = 2;

const int *p = &x;

// *p = 100; // Compile Error!

p = &y;

printf("%d\n", *p);

// *p = 100; // Compile Error!

区别指针常量和常量指针方法非常简单:看const修饰的是谁,也就是*在const的左边还是右边。

<

你可能感兴趣的:(c语言指针向左偏移n位怎么写)