C语言声明与定义

来源:互联网 发布:网络监控传输距离 编辑:程序博客网 时间:2024/05/16 11:39

1.变量:

            特点:1)数据类型:占用空间大小;

           2)   作用域:   有效范围;

    3)存储空间:局部变量:栈空间;

   全局变量:数据区;

                         eg;解释int num=5;

         我会从以下几个方面讲:1)数据类型:num是int型,占用4个字节;

    2)作用域:如果num是全局变量,整个程序结束释放;如果num是局部变量,在函数结束后释放;

      3)存储空间:全局变量存放在数据区,局部变量存放在栈空间;                     


2.存储空间:计算机的三大组成:CPU,硬盘,内存;

                                                                        硬盘与内存的区别:硬盘存放静态数据;内存存放动态数据,程序运行在内存中,掉电后动态数据会消失;

        提高计算机效率:  主要有三个方面:cpu,内存,主频;

  提高计算机主要改变内存:1.cpu:例:单核变多核:一人处理多人处理;

                                                                                                                                改变cpu会改变计算机主板,经济不划算,可以换台电脑;

                                           2.主频:处理程序的速度:提高主频会提高电脑功耗,发热;

      3.内存:例4gb--8gb,空间不拥挤,插个内存条,方便又经济;

   内存过小数据会转移到硬盘,用的时候cpu要从硬盘中转移到内存;

         操作系统的作用:管理资源;

                          执行./a.out 内存存放进程,打印地址:不是物理地址是抽象地址,不是内存地址;

3.内存结构:内存2M对应4g进程虚拟地址空间中的2M,进程空间中的2M用完后释放,用下一个2M;由内存管理单元mmu映射到内存;

                        划分内存为1G的内核空间,和3G用户空间;

                                好处:保护内存;不影响其他内存;

                        3G的用户空间:1.栈空间:局部变量,形参,自动变量;

特点:先进后出,系统管理,函数结束释放;

          2.堆空间:malloc,ralloc,calloc.

特点:用户管理,先进先出;

      3.数据区:1.BSS:未初始化的全局变量;

  2.or(only read):常量;

  3.静态数据区:static,初始化的全局变量;

4.代码段:存放代码;

特点:整个程序结束释放;

                                                        段错误:eg:  char *ptr="hello world";    常量,只读;

char *ptr='L';                       段错误;

                           分配内存的方式: 栈空间,堆空间;数据区;

                            全局变量与局部变量的区别:1、存储位置:

2.    作用域:

3,   初始化:未初始化的局部变量是随机值(垃圾值),未初始化的全局变量是0;

   4.   在函数中局部变量与全局变量名冲突时以局部变量的值为准;


0 0
原创粉丝点击