C语言小结不含链表预处理.doc
文本预览下载声明
C语言小结
一、数据:C语言中的数据主要可以分为基本类型、指针类型、和派生类型(数组、结构体和共用体)。
常量与变量:
在C语言中数据的基本类型分为常量和变量,顾名思义,常量就是在函数执行过程中不可改变的量,变量即可以在函数执行过程中可以由用户或者程序员写入而改变的量。
基本类型中又分为:整型、实型、字符型、枚举。
基本类型的详细分类:
整型:普通整型(int %d)、长整型(long %ld)、无符号整型(unsigned int)、无符号长整型(unsigned long int %ld)。
输出一个无符号整型的下列类型分别以其后面的形式:
十进制 %d或%i 十进制 %0 十六进制 %0x 实型:单精度浮点型(float %f)、双精度浮点型(double %f)。
字符型:字符型(char %c)、字符串(不能定义一个字符串,%s);
枚举型:定义枚举常量:enum 枚举名(成员1,成员2,成语3…);
枚举的第一个成员对应数值0,第二个对应1,依次类推……
定义变量:类型 变量名;
全局变量:在函数外部定义的变量是全局变量,任意一个函数都可以访问全局变量;
局部变量:在函数内部定义的变量成为内部变量,只在韩式内部有效。
数组:
数组的作用:如果你有一组类的数据,一个个起名字麻烦也没意义,用个数组保存它们,用起来就方便一点。…[数组长度];
数组的引用:一维:数组名[下标];
注意: 1)假定一个数组的长度是n,数组的下标是用0开始,一直到n-1结束,
2)数组的数据个数不能超过数组长度,如果超出之后会造成数据错误;
3)数组在引用时数组名代表数组的地址;
二维:数组名[下标1][下标2];
多维:数组名[下标1][下标2]…[下标n];
数组的初始化:数据的初始化实际意义就是给数组赋值;
eg.int a[3]={1,2,3};
指针:
指针的作用:每个网站都对应着相应的域名,但是其实每个网站最终都是以IP地址形式被访问,指针就好比是域名,而指针所对应的地址就是IP地址,在这个过程中,指针就相当于一个引路人。
注意:指针是C语言灵活多变的体现,但是指针也非常危险,弱国使用不当很容易造成系统错误。
定义指针:类型 *指针名; //int *p;
引用指针:1)指针名=变量名; //注:已经定义的变量在赋值的时候不加*;
若没有定义则,格式为:类型*指针变量名;
eg. int*p;
2)若已执行:指针名=地址名;
printf(“%类型简写”,*指针名);
3)若已执行:指针名=变量名;变量名=n(n为具体的一个值);
printf(“%类型简写”,指针名);
指针的自加与自减:
指针的自加与自减是地址的加减而不是所指向的地址的值的加减。
结构体:
结构体的作用:
结构体和其他类型基础数据类型一样,例如int类型, char类型
只不过结构体可以做成你想要的数据类型。以方便日后的使用。
在项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型….
};
引用结构体:1)struct 结构体名
{
类型 成员名1;
类型 成员名2;
….
}变量名;
2)struct 结构体名 变量名; /*在引用前必已经定义过结构体,VC++编译环境中可省略struct,*/
3)struct
{
类型 成员名1;
类型 成员名2;
….
}变量名; //只能使用一次;
结构体数组:1)struct 结构体名
{
类型 成员名1;
类型 成员名2;
….
}结构体数组名;
2)struct 结构体名 结构体数组名;; /*在引用前必已经定义过结构体,VC++编译环境中可省略struct,*/
3)struct
{
类型 成员名1;
类型 成员名2;
….
}结构体数组名;//只能使用一次;
结构体指针:1)struct 结构体名
{
类型 成员名1;
类型 成员名2;
….
}*结构体指针名;
2)struct 结构体名*结构体指针名; /*在引用前必已经定义过结构体,VC++编译环境中可省略struct,*/
3)struct
{
类型 成员名1;
类型 成员名2;
….
}*结构体指针名;//只能使用一次;
用结构体变量中成员的值:结构体变量名.成员名
Eg.定义结构体student 中包含姓名,班级,学号;
struct student
{
cha
显示全部