【转】谈谈C里面的指针之四【指针表达式】

一个表达式的最后结果如果是一个指针,那么这个表达式就叫指针表达式。 下面是一些指针表达式的例子:int a,b;int array[10];int *pa; pa=&a; //&a是一个指针表达式。 Int **ptr=&pa; //&pa也是一个指针表达式 *ptr=&b; //*ptr和&b都是指针表达式。 pa=array; pa++;//这也是指针表达式。 Char *arr[20]; char **parr=arr;//如果把arr看作指针的话,arr也是指针表达式。 char*str,str=*...
2010-10-18 09:22 | 阅读 571 次 | 评论 1 条

谈谈C里面的指针之三【运算符&和*】

这里&是取地址运算符,*是。。。书上叫做"间接运算符",也叫做"解引用"。比如 int *a; &a的运算结果是一个指针,指针的类型是a的类型加个*,指针所指向的类型是a的类型,指针所指向的地址呢,那就是a的地址。 *p的运算结果就五花八门了。总之*p的结果是p所指向的东西,这个东西有这些特点:它的类型是p指向的类型,它所占用的地址是p所指向的地址。 例:int a=12; int b; int*p; int**ptr; p=&a; &a的结果是一个指针,类型是int*,指向的类型是int,指向的地址是a的地址。 //*p的结果...
2010-10-18 09:20 | 阅读 675 次 | 评论 1 条

【转】谈谈C里面的指针之一【指针的基本概念】

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3]; (5)int*(*ptr)[4]; A. 指针的类型。从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型: ...
2010-10-15 09:29 | 阅读 590 次 | 评论 0 条
浏览3490次
文章归档