
C++
outcastllx
这个作者很懒,什么都没留下…
展开
-
深入理解 C++ 指针(一)---指针的概念
指针是一个特殊的变量,它存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子:例一:(1)int*p转载 2011-09-13 13:17:00 · 289 阅读 · 0 评论 -
深入理解 C++ 指针(九)---指针的安全问题
看下面的例子: 例十七: char s='a'; int *ptr; ptr=(int*)&s; *ptr=1298; 指针ptr是一个int*类型的指针,它指向的类型是int。它指向的地址就是s的首地址。在32位程序中,s占一个字节,in转载 2011-09-14 17:09:19 · 359 阅读 · 0 评论 -
深入理解 C++ 指针(八)---指针类型转换
当我们初始化一个指针或给一个指针赋值时,赋值号的左边是一个指针,赋值号的右边是一个指针表达式。在我们前面所举的例子中,绝大多数情况下,指针的类型和指针表达式的类型是一样的,指针所指向的类型和指针表达式所指向的类型是一样的。例十四: 1.float f=12.3;转载 2011-09-14 16:23:21 · 489 阅读 · 0 评论 -
深入理解 C++ 指针(十)---指针与链表问题
红色部分所示的程序语句有问题,改正后的程序在下面。list1.c struct listNode{ int data; struct listNode *nextPtr; }; typedef struct listNode LISTNO转载 2011-09-14 17:16:09 · 392 阅读 · 0 评论 -
深入理解 C++ 指针(七)---指针和函数的关系
可以把一个指针声明成为一个指向函数的指针。 int fun1(char*,int); int (*pfun1)(char*,int); pfun1=fun1; .... int a=(*pfun1)("abcdefg",7);//通过函数指针调用函数。 可转载 2011-09-14 15:41:10 · 235 阅读 · 0 评论 -
深入理解 C++ 指针(六)---指针和结构类型的关系
可以声明一个指向结构类型对象的指针。 例十一: struct MyStruct { int a; int b; int c; } MyStruct ss={20,30,40};//声明了结构对象ss,并把ss的三个成员初始化为20,30和40。转载 2011-09-14 15:37:37 · 296 阅读 · 0 评论 -
深入理解 C++ 指针(四)---指针表达式
一个表达式的最后结果如果是一个指针,那么这个表达式就叫指针表达式。 下面是一些指针表达式的例子: 例六: int a,b; int array[10]; int *pa; pa=&a;//&a是一个指针表达式。 int **ptr=&pa;//&pa也原创 2011-09-13 19:40:47 · 369 阅读 · 0 评论 -
深入理解 C++ 指针(三)---运算符&和*
运算符&是取地址运算符,*书上叫做“间接运算符”。&a的运算结果是一个指针,指针的类型是a的类型加个*,指针所指向的类型是a的类型,指针所指向的地址嘛,那就是a的地址。*p的运算结果就五花八门了。总之*p的结果是p所指向的东西,这个东西有这些特点:它的类型是p指向的类型,它所占用原创 2011-09-13 19:35:17 · 330 阅读 · 0 评论 -
深入理解 C++ 指针(二)---指针的算术运算
指针的算术运算 指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。例如:例二:1.char a[20];2.int *ptr=a;3.ptr++; 在上例中,指针ptr的类型是int*,它指向的转载 2011-09-13 13:22:28 · 397 阅读 · 0 评论 -
深入理解 C++ 指针(五)---数组和指针的关系
如果对声明数组的语句不太明白的话,请参阅我前段时间贴出的文章>。 数组的数组名其实可以看作一个指针。看下例: 例八: int array[10]={0,1,2,3,4,5,6,7,8,9};int value; value=array[转载 2011-09-13 19:58:44 · 254 阅读 · 0 评论