
C++
文章平均质量分 67
zifuttt
这个作者很懒,什么都没留下…
展开
-
const与指针的应用
int age = 10;const int * ps =&age; //ps的只可以修改ps的值,但不允许修改age的值int * const find= &age; //find只能指向age,但允许find来修改age的值;const int * conststick = &age //stick只能指向age,而stick不能用来修改age的值;注意:如果数原创 2012-03-30 22:29:49 · 354 阅读 · 0 评论 -
scanf函数和printf函数特别
1. scanf函数返回值告诉我们它是否成功的读到数据,如果成功返回非0,否则返回整数0。#includeint main(){ int value1; int value2; printf("please input value1!\n"); (1)int ret = scanf("%d", &value1);原创 2012-07-25 22:46:56 · 789 阅读 · 0 评论 -
编写一个函数,反序排列一个单链表的所有节点
#include#includetypedef struct Data{ int num; struct Data *next;} Data;Data * creat(Data *head){ int n = 0; Data *p1, *p2; p1 = p2 = (Data *)malloc(sizeof(Data)); if(p1 == NU原创 2012-08-09 21:57:11 · 2242 阅读 · 0 评论 -
c语言基础 一
2.1编译过程几个阶段: 【预处理器】:在源代码上执行一些文本操作,例如:用实际值代替由#define指令定义的符号以及由#include指令包含的文件内容,滤掉注释。 【解析】:判断代码语句的意思,产生绝大多数的错误和警告信息的地方。 产生目标代码:目标代码是机器指令的初步形式,用于实现程序的语句。2.2【执行】:在大多数机器里,程序使用一个运行原创 2012-04-05 20:38:20 · 619 阅读 · 1 评论 -
c语言基础 二
5.1 算数操作符:1.当" / "操作符的两个操作数都是整数时,它执行整除操作,在其他情况下执行浮点数除法。 2." % "为取模操作符,它接受两个整形操作数。5.2 移位操作符:1.左移位操作符 " > "。 注意:对于【无符号值】执行的所有移位操作都是逻辑移位。对于有符号值移位操作:如果是左移,右边空出来的位补零,而且算术左移和逻辑左移的结果原创 2012-04-07 14:34:16 · 497 阅读 · 1 评论 -
指针 二
6.7指针表达式:在理解下面内容时,切记,左值意味着一个位置,右值意味着一个值。char ch = ‘a’;char *cp = &ch;现在,初始化上面的两个变量如下:途中还显示了ch后面的那个内存位置,因为我们所求的表达式将访问它。因为不知道它的初始值,所以用?代替。如下开始逐个介绍指针表达式:1.当ch作原创 2012-04-08 14:12:23 · 707 阅读 · 0 评论 -
C/C++中,内存中数据存储分成4个区:堆、栈、全局/静态存储区和常量存储区。
栈(stack),就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆(heap),一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。 全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的(DATA段)和未初始化的(BSS段),在C++里面没有这个区分了原创 2012-04-01 10:29:23 · 4777 阅读 · 0 评论 -
c语言 三
1.数组名的值是一个【指针常量】,也就是数组第一个元素的地址。它的类型取决于数组元素的类型:如果它们是int类型,那么数组名的类型就是“指向int的常量指针”。下列两种情况:数组名并不用指针常量表示———就是当数组名作为siziof操作符或单目运算&的操作数是。【注意】:数组名是指针常量,所以不能被修改。2.下标引用:通过一个例子来讲解下标引用.int a[10] = { 2, 45, 3原创 2012-04-12 09:54:47 · 637 阅读 · 0 评论 -
递归函数的原理
1. 函数定义:就是函数体的实现。函数体就是一个代码块,它在函数被调用时执行。函数声明:向编译器提供该函数的相关的信息,包括:参数的数量,每个参数的类型以及返回值的类型。用于函数被正确的调用。【注意】:当一个函数被调用时,编译器如果无法看到它的任何声明,那么它就假定函数返回一个整型值。对于那些返回值不是整型的函数,在调用之前对它们进行声明是非常重要的,这可以避免由于不可预测的类型原创 2012-04-10 11:32:42 · 11721 阅读 · 1 评论 -
指针 一
6.1名字与内存:高级语言特性之一就是通过名字而不是地址来访问内存位置,名字就是我们所称的变量,名字与内存之间的关联并不是由硬件所提供,它是由编译器为我们实现的。6.2 未初始化和非法指针: 下面这个代码段说明了一个极其常见的错误: int*a; *a= 12; 这里声明创建了一个名叫a的指针变量,后面那条语句把12存储在a所指向原创 2012-04-07 16:49:26 · 505 阅读 · 1 评论 -
new 与 delete的应用 sizeof与strlen的区别
原创 2012-03-30 22:33:13 · 565 阅读 · 0 评论 -
c语言变量的属性
1. 变量定义和声明让我们更为仔细的看一下变量的定义和变量声明的区别,考虑如下例子:int tern = 1; //定义ternmain(){ extern int tern;//使用在其他地方定义的tern变量}这里,tern声明两次。第一次声明为变量留出了存储空间。它构成了变量的定义。第二次声明只是告诉编译器要使用先前定义的变量tern,因此不是定义。原创 2012-07-26 21:39:22 · 3017 阅读 · 0 评论