摘要: 首先必须要清楚如下: 【1】函数指针即函数的地址,也就是存储其机器语言代码的首地址。该地址用函数名表示。 【2】用具体的函数名给函数指针变量赋值时必须满足两者的类型(即函数返回值类型)和特征标(即函数参数表的个数及对应数据类型)相同。 然后,相关语法如下: (1)函数指针变量pf的声明格式:返回类型 阅读全文
posted @ 2016-06-03 14:10 wxiaoli 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 【NOTE】 由于设置随机种子语句执行时间较长,若需要取多个随机数时最好放到循环结构外面。 关于RAND_MAX ,<stdlib.h>头文件中有如下预定义: —————————————————————————————————— #define RAND_MAX 0x7fff ——————————— 阅读全文
posted @ 2016-06-02 21:20 wxiaoli 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 【NOTE】 关于time_t,<time.h>中有如下定义: #ifndef _TIME_T_DEFINEDtypedef long time_t; /* time value */#define _TIME_T_DEFINED /* avoid multiple def's of time_t 阅读全文
posted @ 2016-06-02 20:44 wxiaoli 阅读(512) 评论(0) 推荐(0) 编辑
摘要: // 阅读全文
posted @ 2016-03-30 10:11 wxiaoli 阅读(1762) 评论(0) 推荐(0) 编辑
摘要: 算法一 任何>1的整数都可以写成一个或多个素数因子乘积的形式,且素数乘积因子以非递减序出现。 则整数x,y可以分别标记为:x=p1x1p2x2...pmxm y=p1y1p2y2...pmym (其中p1,p2,....是素数,若有必要素数因子的指数xj或yj可以为0) (1)最大公约数 gcd(x 阅读全文
posted @ 2016-03-30 00:10 wxiaoli 阅读(6541) 评论(1) 推荐(2) 编辑
摘要: <math.h>文件中对malloc()函数原型: _CRTIMP void * __cdecl malloc(size_t); MSDN中对malloc()的解释: 即:malloc总是返回void类型的指针,如果需要该指针指向特定的类型必须进行强张类型转换。 下例: 阅读全文
posted @ 2016-03-29 10:17 wxiaoli 阅读(326) 评论(0) 推荐(0) 编辑
摘要: scanf语句执行过程: (1)逆序取参数的偏移地址并分别入栈。 (2)根据控制字符串的格式说明符从缓冲区取数据给各变量赋值。 ①若格式说明符是数值类数据:如果从缓冲区中拿出的第一个字符可以合法表示该数值类型数据(如对应%d的可以是任何数字字符、+、-;若对应%x,则除了以上还有字母a—b也可,an 阅读全文
posted @ 2016-03-23 22:23 wxiaoli 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 总的来说挺纠结的,实际上面的结果计算涉及到如下几点: (1) 当printf()参数表中有自加表达式时执行顺序:后自加:以 8: printf("%d\t%d\t%d\n",a,a+=(a++),a);在VC6.0中的反汇编结果(见文末)为例: 1)倒数第一个参数入栈 (这里值得注意的是入栈时数据占 阅读全文
posted @ 2016-03-16 23:54 wxiaoli 阅读(3202) 评论(0) 推荐(0) 编辑
摘要: 首先,必须清楚的是private和public限定的是类而不是对象。因此,在成员函数中访问同类对象的私有成员是完全可以的。 所以,某些教材上所说的“私有数据成员不能用对象去访问”是欠妥当的。 比如,如下类的声明谁说不可以呢? 其实这可以从成员函数的完整形式去考虑。依然以上例中的类为例:  按照C++ 阅读全文
posted @ 2016-03-13 21:10 wxiaoli 阅读(1577) 评论(0) 推荐(0) 编辑
摘要: 【图一】 【图二】 【图三】 通过以上三段程序证明转义序列‘\r’和‘\n’的作用是纯粹作用在鼠标定位上的,即: ‘\r’ 控制鼠标定位到当前行的行首。 '\n' 控制鼠标定位到下一行的行首。 此外,也验证了C语言是结构化执行过程,即逐句执行。 对以上三段执行结果做如下解释: (1)【图一】和【图二 阅读全文
posted @ 2016-03-03 00:18 wxiaoli 阅读(295) 评论(0) 推荐(0) 编辑