码迷,mamicode.com
首页 > 编程语言 > 详细

C语言小结

时间:2015-07-29 06:16:00      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

C语言组成

变量 语句 函数

变量类型:整型变量 字符型变量 浮点型变量 (单精度和双精度浮点型) void类型 

char:一个字节

short:2个字节

int:跟随系统32位系统4个字节

float : 4个字节 

long :4个字节

double:8个字节

long double :10个字节

 

类型名称字节数其它称呼值的范围
int * signed, 
signed int
根据操作系统而定
unsigned int * unsigned 根据操作系统而定
__int8 1 char, 
signed char
-128 to 127
__int16 2 short, 
short int, 
signed short int
-32,768 to 32,767
__int32 4 signed, 
signed int
-2,147,483,648 to 2,147,483,647
__int64 8 none -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
char 1 signed char -128 to 127
unsigned char 1 none 0 to 255
short 2 short int, 
signed short int
-32,768 to 32,767
unsigned short 2 unsigned short int 0 to 65,535
long 4 long int, 
signed long int
-2,147,483,648 to 2,147,483,647
unsigned long 4 unsigned long int 0 to 4,294,967,295
enum * none 与int相同
float 4 none 3.4E +/- 38 (7 digits)
double 8 none 1.7E +/- 308 (15 digits)
long double 10 none 1.2E +/- 4932 (19 digits)

sizeof 可求字节

limit.h 里面 int_MAX可求最大值 int_MIN可求最小

声明变量的意义可以重复使用,声明变量时变量名尽可能让所有人都能读懂

 

 

语句:顺序语句 循环语句 选择语句(分支语句)

顺序语句

循环语句:for   while   do……while

选择语句:switch 

 

函数

 

 

指针:存放地址的一段内存空间,指针类型决定以何种方式读取指针所指向的内容。指针存放的地址保证了数据的准确性(将一个int指针存放在char类型指针中会发生内存泄露,将char类型指针放在int类型中会产生一些垃圾值)

结构体可以返回多个值,C语言中指针只能返回一个值,在C++中可以返回多个值

尽可能的用使用变量取代使用指针

 

 

函数的调用

函数的调用会通过栈的方式进行回溯,也会通过栈的方式传递参数

C语言参数传递  传递是一个替身副本

局部变量

传递参数  返回地址  存放在栈中

局部变量在使用中占用内存,当函数生命周期结束时,它会释放当前的栈(局部变量在此时被释放)

1.函数在调用时,遇到return进行返回,  如果函数返回的是一个局部变量的地址,这个地址无效,原因是被调用函数在使用时,栈会复制一个副本。结束后将它释放,所以return这局部变量的地址将无效,副本回不到原来调用函数中局部变量的地址

2.函数在传递参数时,会将当前的参数拷贝一份到栈中来进行参数的传递,所以你在函数内对参数的任何修改都是修改的替身,副本,本身 并没有发生任何变化,因为他存放的值没有任何变化

如果想将修改作用于本身,就要传递局部变量的地址进去

 

 

 

 

程序占用的是一块内存,只要在程序中我们就能访问当前的内存

堆区

特殊的区域,交由程序员管理,malloc分配空间。

使用的范围:超过1MB的   还有一种就是不希望程序将你分配的空间变量释放掉

栈区 

使用范围:一次使用只能不超过1MB,否则会造成栈溢出

全局区(静态变量 )

全局变量

全局常量

代码区

C语言小结

标签:

原文地址:http://www.cnblogs.com/hhxxc2010/p/4684800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!