随笔分类 - C/C++
摘要:首先必须要清楚如下: 【1】函数指针即函数的地址,也就是存储其机器语言代码的首地址。该地址用函数名表示。 【2】用具体的函数名给函数指针变量赋值时必须满足两者的类型(即函数返回值类型)和特征标(即函数参数表的个数及对应数据类型)相同。 然后,相关语法如下: (1)函数指针变量pf的声明格式:返回类型
阅读全文
摘要:【NOTE】 由于设置随机种子语句执行时间较长,若需要取多个随机数时最好放到循环结构外面。 关于RAND_MAX ,<stdlib.h>头文件中有如下预定义: —————————————————————————————————— #define RAND_MAX 0x7fff ———————————
阅读全文
摘要:【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
阅读全文
摘要:算法一 任何>1的整数都可以写成一个或多个素数因子乘积的形式,且素数乘积因子以非递减序出现。 则整数x,y可以分别标记为:x=p1x1p2x2...pmxm y=p1y1p2y2...pmym (其中p1,p2,....是素数,若有必要素数因子的指数xj或yj可以为0) (1)最大公约数 gcd(x
阅读全文
摘要:<math.h>文件中对malloc()函数原型: _CRTIMP void * __cdecl malloc(size_t); MSDN中对malloc()的解释: 即:malloc总是返回void类型的指针,如果需要该指针指向特定的类型必须进行强张类型转换。 下例:
阅读全文
摘要:scanf语句执行过程: (1)逆序取参数的偏移地址并分别入栈。 (2)根据控制字符串的格式说明符从缓冲区取数据给各变量赋值。 ①若格式说明符是数值类数据:如果从缓冲区中拿出的第一个字符可以合法表示该数值类型数据(如对应%d的可以是任何数字字符、+、-;若对应%x,则除了以上还有字母a—b也可,an
阅读全文
摘要:总的来说挺纠结的,实际上面的结果计算涉及到如下几点: (1) 当printf()参数表中有自加表达式时执行顺序:后自加:以 8: printf("%d\t%d\t%d\n",a,a+=(a++),a);在VC6.0中的反汇编结果(见文末)为例: 1)倒数第一个参数入栈 (这里值得注意的是入栈时数据占
阅读全文
摘要:首先,必须清楚的是private和public限定的是类而不是对象。因此,在成员函数中访问同类对象的私有成员是完全可以的。 所以,某些教材上所说的“私有数据成员不能用对象去访问”是欠妥当的。 比如,如下类的声明谁说不可以呢? 其实这可以从成员函数的完整形式去考虑。依然以上例中的类为例: 按照C++
阅读全文
摘要:【图一】 【图二】 【图三】 通过以上三段程序证明转义序列‘\r’和‘\n’的作用是纯粹作用在鼠标定位上的,即: ‘\r’ 控制鼠标定位到当前行的行首。 '\n' 控制鼠标定位到下一行的行首。 此外,也验证了C语言是结构化执行过程,即逐句执行。 对以上三段执行结果做如下解释: (1)【图一】和【图二
阅读全文
摘要:C语言在声明数组时必须明确长度,如下两种方式:(一) 直接指定长度。如: int a[5];(二) 声明时初始化元素。如:int a[]={1,3,5}。如果,直接int a[]; 是不可以的。
阅读全文
摘要:一个人在被告诉一个问题应该怎么被解决后,而且亲身试验效果OK后,一旦遇到类似的问题,就会条件反射般直接拿这个方法来用了。很少会去想为什么要用这个方法,会不会有什么隐患,还有没有别的方法呢,等等这些问题。 至少我是这样。 这学期上C语言课,本来出的题目让学生把任意字符串按照字母顺序输出,是想让他们练...
阅读全文
摘要://或许,友元是VC++6.0心里永远的痛,对于这个BUG我一直很介意。//注:这个程序在VC++6.0里是行不通的,在VS2008里是可以的。#include #include using namespace std;class Student; //提前引用声明//声明Teacher类class...
阅读全文
摘要:运行结果: from constructure: r=1 i=2from constructure: r=2 i=3from constructure: r=3 i=4 from display: r=3 i=4from display: r=3 i=4from display: r=3 i=4Pr
阅读全文