摘要:
用gcc那要在头上加#include <string.h> 阅读全文
摘要:
如果我们需要内存大小为一个变量,其数值只有在程序运行时 (runtime)才能确定动态内存分配(dynamic memory),为此C++ 集成了操作符new 和delete。操作符new的存在是为了要求动态内存。new 后面跟一个数据类型,并跟一对可选的方括号[ ]里面为要求的元素数。它返回一个指向内存块开始位置的指针。其形式为:pointer = new type或者pointer = new type [elements]第一个表达式用来给一个单元素的数据类型分配内存。第二个表达式用来给一个数组分配内存。既然动态分配的内存只是在程序运行的某一具体阶段才有用,那么一旦它不再被需要时就应该被 阅读全文
摘要:
参数全部是按数值传递的(by value)。也就是说,当我们调用一个带有参数的函数时,我们传递到函数中的是变量的数值而不是变量本身。在函数声明(declaration)中,每一个变量的类型后面跟了一个地址符ampersand sign (&),它的作用是指明变量是按地址传递的(by reference),而不是像通常一样按数值传递的(by value)。当按地址传递(pass by reference)一个变量的时候,我们是在传递这个变量本身,我们在函数中对变量所做的任何修改将会影响到函数外面被传递的变量。 阅读全文
摘要:
指针void 是一种特殊类型的指针。void 指针可以指向任意类型的数据,可以是整数,浮点数甚至字符串。唯一个限制是被指向的数值不可以被直接引用(不可以对它们使用引用星号*),因为它的长度是不定的,因此,必须使用类型转换操作或赋值操作来把void 指针指向一个具体的数据类型。它的应用之一是被用来给函数传递通用参数:// integer increaser#include <iostream.h>void increase (void* data, int type) {switch (type) {case sizeof(char) : (*((char*)data))++; br 阅读全文