标签:
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,否则会造成栈溢出
全局区(静态变量 )
全局变量
全局常量
代码区
标签:
原文地址:http://www.cnblogs.com/hhxxc2010/p/4684800.html