C-指针讲解

指针的类型是什么:

将指针的名字去掉即可

指针指向的是什么类型:

将指针的名字以及指针左边的*去掉

指针指向了哪里:

指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为sizeof(指针所指向的类型)的一片内存区。以后,说一个指针的值是XX,就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。

int *ptr //指针的类型是int * 指针指向的类型是int
int **ptr//指针的类型是int ** 指针指向的类型是int *

Example1:

int array[20];
int *ptr = array;
//此处略去为整型数组赋值的代码。 
for(i = 0;i<10;i++)
{
(*ptr)++;  //array的值加1
ptr++; //array的地址加1 如果是32位程序,则是加4(字节),因为地址是由字节构成的。
} 
指针表达式:

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

函数指针:

可以把一个指针声明成为一个指向函数的指针
ex:

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

推荐阅读更多精彩内容