经常会用到一些简单的函数指针,也会经常见到一些比较变态的函数指针
简单的函数指针类型不详细讲,大概就是下面这个样子
int (*pfunc)(...) //返回值 函数指针(参数列表)
注意与 int (pfunc)(...) 区分(该处就是一个函数的声明)
一下是一个复杂的声明
int (*pfunc(int))(int);
pfunc是一个带有in...
分类:
其他好文 时间:
2015-04-14 18:04:55
阅读次数:
123
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间中;
(3)...
分类:
编程语言 时间:
2015-04-14 14:44:51
阅读次数:
132
问题及代码
设计一个工资类(Salary),其中的数据成员包括职工人数(number,人数不定)和number个职工的工资salary,要求输入职工工资并逐个输出。
提示:用固定大小的数组存储number个职工的工资,可能造成空间的浪费,也可能会由于空间不够而不能处理职工人数过多的应用。将salary声明为指针类型的成员,通过动态分配空间,分配正好大小的空间存储数据。
/*
* Cop...
分类:
其他好文 时间:
2015-04-13 09:46:02
阅读次数:
163
问题及代码
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间...
分类:
编程语言 时间:
2015-04-12 13:28:15
阅读次数:
197
由于数组在内存里是线性排列的,只要改变指针就可以改变其访问方式,因为指针不仅仅是地址最重要的是步长,其类型确定其内存的解析方式,因此我们可以通过改变其指针类型改变内存的访问方式。
#include
#include
void main()
{
int i,j,k;
int *p=(int *)malloc(sizeof(int)*40);// 一个一维数组,其在内存是线性的
int (*...
分类:
其他好文 时间:
2015-04-11 20:53:45
阅读次数:
110
一般的变量声明时就创建相应的内存空间,该空间用于存储该变量的值。函数进行按值传递时,是将该变量值的拷贝传给函数,因此在函数中将传进来的值改变也不能改变变量的值。指针变量和按指针传递。指针类型的变量在声明后,根据操作系统的不同创建相应大小的内存空间,该空间上..
分类:
编程语言 时间:
2015-04-11 06:43:35
阅读次数:
199
一、基本数据类型1)整型 (int%d)2)字符型 (char%c)3)浮点型 %f①.单精度浮点型(float)②.双精度浮点型(double)2.指针类型 void*3.空类型 void4.构造类型1)数组 a[]2)结构体 struct3)枚举 enum4)共用体union注意:C语言中没有布...
分类:
其他好文 时间:
2015-04-10 23:48:19
阅读次数:
128
Windows数据类型: WORD:16位无符号整形数据 DWORD:32位无符号整型数据(DWORD32) DWORD64:64位无符号整型数据 INT:32位有符号整型数据类型 INT_PTR:指向INT数据类型的指针类型 INT32:32位符号整型 int64:64位...
指针变量与间址访问能够存放地址值的变量成为指针变量声明:int *p;//在变量说明语句中,*是表示指针类型,也就是用来说明p是存放地址的变量int a=10;p=&a;coutusing namespace std;int main(){long int a=10,b=20,temp;long i...
分类:
编程语言 时间:
2015-04-10 13:22:20
阅读次数:
188
在C++中定义一个数组:
int a[5]={1,2,3,4,5}那么a到底代表什么含义呢?首先想到的是a代表的是数组的首元素地址。那么如果问你a的类型是什么呢?估计很多人就不太确定了,看下面程序,让编译器告诉我们a是什么类型的数据:
main.cpp如下:
从图片中的错误提示可以看出:
a的类型是int [5]类型。那么直接将a赋值给一个int (*)[5]类型的指针类型是不行的...
分类:
编程语言 时间:
2015-04-06 18:47:13
阅读次数:
187