用发呆的时间来理清自己的思绪
发布时间:2013-12-28 00:02:33
数组的数组名其实可以看作一个指针。看下例: 例九: intarray[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); 上例中,一般而言数组名array代表数组本身,类.........【阅读全文】
发布时间:2013-12-27 23:50:43
一、运算符&、*这里&是取地址运算符,*是间接运算符。&a的运算结果是一个指针,指针的类型是a的类型加个*,指针所指向的类型是a的类型,指针所指向的地址嘛,那就是a的地址。*p的运算结果就五花八门了。总之*p的结果是p所指向的东西,这个东西有这些特点:它的类型是p指向的类型,它所占用的地址是p所指向的.........【阅读全文】
发布时间:2013-12-27 23:47:02
指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的,以单元为单位。例如: 例1: char a[20]; int *ptr=(int *)a; //强制类型转换并不会改变a的类型 ptr++; 在上例中,指针ptr的类型是int*,它指向的类型是int,它被初始化为指向整型变量a。接下来的第.........【阅读全文】
发布时间:2013-12-27 23:36:50
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向内容的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4.........【阅读全文】
发布时间:2013-12-27 23:23:57
首先看看如下一个声明: int* ( *( *fun )( int* ) )[10]; 这是一个会让初学者感到头晕目眩、感到恐惧的函数指针声明。在熟练掌握C/C++的声明语法之前,不学习一定的规则,想理解好这类复杂声明是比较困难的。 C/C++所有复杂的声明结构,都是由各种声明嵌套构成的。如何解读复杂.........【阅读全文】