C-指针讲解

2016-10-31  本文已影响0人  剧情简介第一天
指针的类型是什么:

将指针的名字去掉即可

指针指向的是什么类型:

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

指针指向了哪里:

指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为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);
上一篇下一篇

猜你喜欢

热点阅读