C语言中的指针

1、清晰指针的概念

①指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型如int*ptr;该指针的类型是int*。

②一个指针的值是XX,就相当于说该指针指向了以XX 为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。指针所指向的内存区和指针所指向的类型是两个完全不同的概念。

2、指针的运算

int*p=a,p++,指针p被加了1,编译器是这样处理的:它把指针ptr 的值加上了sizeof(int),在32 位程序中,是被加上了4,因为在32 位程序中,int 占4 个字节。

3、指针表达式

一个表达式的结果如果是一个指针,那么这个表达式就叫指针表式。

4、数组和指针的关系

数组的数组名其实可以看作一个指针。

int array[10]={0,1,2,3,4,5,6,7,8,9},value;

value=array[0]; //也可写成:value=*array; 

value=array[3]; //也可写成:value=*(array+3); 

value=array[4]; //也可写成:value=*(array+4);

5、指针的安全性

时刻关注指针指向的地址是否越界,或者存放了其他数据。

详情:https://blog.csdn.net/constantin_/article/details/79575638

你可能感兴趣的:(C语言中的指针)