随笔分类 -  C语言基础

关于c语言的基础知识总结与分享
摘要:一、注释符号: 用于在代码中添加说明,编译器会用空格代替注释符号和内容: 使用方法如: int p; /*这是一个整型变量*/ 这样写也是合法的: int/*这是一个整型变量*/p; //等效为int p; 这样写是非法的: in/*这是一个整型变量*/t p; //等效为in t p; 二、连接符号: 编译器会将语句最后的反斜杠'\'去掉,自动连接到下一行代码。注意反斜杠后面不能跟任何符号,空格符号也不行。 例如: int a,b,\ c,d; ... 阅读全文
posted @ 2013-05-20 17:19 反光镜的博客 阅读(4790) 评论(0) 推荐(0)
摘要:enum即枚举。 枚举的用法如下: 1、成员没有赋值 enum test { A, B, C, D, E }; 如果枚举的成员都没有赋值,它们的数值就默认从0开始依次递增1.如上A=1,B=2,C=3... 2、成员有赋值 enum test { A=2, B, C, ... 阅读全文
posted @ 2013-05-16 18:26 反光镜的博客 阅读(367) 评论(0) 推荐(0)
摘要:union关键字的用法与struct比较类似,不同的是union中的所有变量共用一段储存空间,同一个时刻union中只能储存数据成员中的一种,所以union可用的内存空间大小为最大长度成员变量的字节数。 例如: union test { char c; short m; int * n; long long int k; }; test的的成员变量中,占用字节数最多的是k,所以test占用空间大小就是k占用的字节数(32位机器下为8字节)。 计算机大小端对union的影响: 先解释一... 阅读全文
posted @ 2013-05-15 18:33 反光镜的博客 阅读(168) 评论(0) 推荐(0)
摘要:const表示只读,const关键字修饰的变量为只读变量。 const修饰的变量存放在内存中的全局(静态)区,在编译时即确定了变量的数值,变量一旦定义之后,不允许修改变量的数值,所以const变量必须在定义时进行初始化! 一、修饰一般变量: const int i=10; 和 int const i=10; 是等效的。 二、修饰指针变量时,注意const所在位置: const int *p; int const *p;//与上句含义相同,p指向的位置可变,但是对象的数值不可变 int * const p;//p指向的位... 阅读全文
posted @ 2013-05-14 18:24 反光镜的博客 阅读(163) 评论(0) 推荐(0)
摘要:sizeof的作用是求取数据类型或变量在内存中占用字节数的多少。一般的用法例如sizeof(int),很像函数用法,但是sizeof并不是一个函数,而是关键字。sizeof的结果在编译时就确定。 从代码来分析sizeof在不同情况下获得的结果: sizeof(int); //32位机子下结果是4 int a[10]; sizeof(a);//数组变量a占用的内存字节数,结果是 10*sizeof(int)=40 sizeof(&a); //&a是一个指针,结果为指针变量占用的字节数4 还有一种情况: void fun(int a[10]) { ... 阅读全文
posted @ 2013-05-10 18:34 反光镜的博客 阅读(163) 评论(0) 推荐(0)
摘要:static可以用于修饰变量以及函数。 static本意为静态的,但是其修饰变量时,并不是意味着变量的数值不能改变,而是储存位置和数值不会随着程序的运行而改变(与栈中的变量相比),直到被重新赋值。 一、静态变量: 在《进程内存区域--栈,堆,代码区,全局(静态)区 ,常量区》简单介绍了各个内存区域. 1.1 静态局部变量 储存位置:局部变量储存于栈中,退出函数后变量数据丢失;而静态局部变量储存于全局(静态)区,退出函数以后,数据仍然储存在内存中,下次进入函数还可以取到上次的运行结果。 作用范围:静态局部变量作用范围与局部变量相同。 ... 阅读全文
posted @ 2013-05-09 18:26 反光镜的博客 阅读(185) 评论(0) 推荐(0)
摘要:一个进程在内存中有5个区域 1. 程序代码区 用于存放程序代码,程序员一般不用关心。 2. 文字常量区 一般定义字符串时,字符串内容是在文字常量区的: char* s = "hello, world"; //指针s指向内存中的常量区的"hello, world" 3. 全局(静态)存储区 全局变量,静态(static)变量是一起的,都放在全局(静态)存储区,全局(静态)存储区中存放的数据会一直保存直到被新的数据覆盖或者进程退出。 以上3部分的内存分配,在编译时就已经完成。 4. 栈 局部变量、函数参数、函数入口地址等存放于栈中。主要是存放临时性数据,变量 阅读全文
posted @ 2013-05-08 18:40 反光镜的博客 阅读(809) 评论(0) 推荐(0)