C语言基础知识

一. 基本数据类型与变量
1. 什么是数据类型?
描述一个变量在内存中占用的空间大小,常见数据类型:char/short/int/long/float/double。

计算基本数据类型在内存中占用的空间大小?  
sizeof()  -> 计算内存中空间

char  -> 1
short -> 2
int   -> 4
long  -> 32位:4   64位:8
float -> 4
double-> 8

结论: 基本数据类型占用空间大小字节数由C语言编译系统决定。

2. 如何定义变量?
公式: 数据类型 + 变量名

数据类型: 从基本数据类型中选择一个,也可以从复杂数据类型(数组/指针/结构体)中选择。
变量名:有一套命名规则:
1)只能使用数字,字母,下划线组成。 
2)不能使用数字开头             
3)不可以与系统的关键词重名        

3. 举例子。
int main(int argc,char *argv[])
{
    int a;  -> 在内存中申请4个字节
    return 0;  -> 释放掉空间
}

二.变量的赋值以及作用域、生命周期。
1. 变量的赋值?
1)定义变量同时初始化值。
int a = 100;

“=”将等号右边的值赋值给左边的值。
“==”判断等号左边的值是否等于右边的值。

2)先定义,后初始化。
int a;  -> 先申请空间,然后使用变量a间接访问空间,先赋值一个随机值。
a = 100;-> 将100赋值给变量a

2. 变量的生命周期以及作用域?
生命周期:这个变量从什么时候开始出现在内存空间到什么时候从内存中释放的这个过程。
作用域:这个变量能在程序中哪些地方使用。

   局部变量    VS    全局变量

1)在函数体内申请的变量,叫局部变量,在函数体外部申请变量,就是全局变量。

int b;  -> 全局变量
int main()
{ -> 函数体
    int a;  -> 局部变量
    return 0;
}

2)两者在内存空间中申请的位置?
局部变量  -> 栈区
未初始化的全局变量  -> .bss段
已初始化的全局变量  -> .data段

3)初始化值
局部变量不初始化  -> 随机值
全局变量不初始化  -> 0

4)作用域
局部变量作用范围是函数内部,全局变量作用域是整个程序。

你可能感兴趣的:(linux,linux)