![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
lf1570180470
这个作者很懒,什么都没留下…
展开
-
数组与指针
数组与指针数组名(不包括形参数组名,形参数组并不占用实际内存单元)代表数组首元素(即序列号为0的元素)的地址。int a[10];int *p;p=&a[0]=a; 把数组名a的首元素的地址赋给指针变量p;*p=1; 表示将1赋给p当前所指向的数组元素;p+1 ->指向同一个数组的下一个元素,此处不是简单的加1,而是根据p指针所属的数据类型,加上一个单位的步长,例如原创 2017-02-21 17:55:45 · 280 阅读 · 0 评论 -
多维数组和指针
多维数组和指针int a[3][4] ={{},{},{}};二维数组a是由3个一维数组组成的;从二维数组角度看,a代表二维数组首元素的地址,此元素不是一个简单的整型元素,而是4个整型元素所组成的一维数组;a代表首行的首地址 a+1代表第一行的首地址a[0]、a[1]、a[2]为一位数组名a[0]代表一维数组a[0]中第0列元素的地址,即&a[0][0];a[原创 2017-02-21 22:53:24 · 273 阅读 · 0 评论 -
在C语言中static关键字的作用
static关键字的作用在C语言中static修饰函数的时候静态函数:作用范围仅限于它的源文件,即只有本文件内才可以调用,函数名在其他文件内不可见。static修饰局部变量的时候局部静态变量:局限于特定函数,但出作用域并不释放,在函数体内静态变量的值也能维持。static修饰全局变量的时候全局静态变量:作用范围局限于它的源文件,即只有本文原创 2017-02-22 17:39:21 · 5076 阅读 · 0 评论 -
const关键字作用总结
const关键字const是constant的简写,只要一个变量前面用const来修饰,就意味着该变量里的数据可以被访问,不能被修改。也就是说const意味着“只读”readonly规则:const离谁近,谁就不能被修改;const修饰一个变量,一定要给这个变量初始化值,若不初始化,后面就无法初始化。本质:const在谁后面谁就不可以修改,const在最前面则将其后移一位,二者等效原创 2017-02-23 18:33:39 · 18665 阅读 · 1 评论 -
malloc、realloc和calloc知识的整理
malloc函数函数原型为 void* malloc(unsigned int size);作用: 在内存的动态存储区中分配一个长度为size的连续空间。此函数的值(即“返回值”)是一个分配域的起始地址(类型为void)。如果此函数未能成功执行(例如内存空间不足),则返回空指针(NULL);头文件:#include#incldue注意:当内存不再使用时,应使用free()函数将原创 2017-02-25 20:25:04 · 389 阅读 · 0 评论 -
register变量
register关键字若一个变量被register来修饰,则该变量是一个寄存器变量作用:请求编译器把这个修饰的变量尽可能放在cpu内部寄存器中,减少CPU到内存中抓取数据的次数,从而提高程序的执行效率。注意:是尽可能,不是绝对可以,因为一个cpu寄存器也就几个到几十个(如:X86:十几个ARM:最多37个)资源有限,不可能每个都可以放在寄存器中。一般频繁被访问的变量用regis原创 2017-02-26 00:11:48 · 5005 阅读 · 0 评论 -
内存管理的理解
内存管理未初始化的全局变量(.bss段)bss 段:没有被初始化和初始化为0 的全局变量bss类型的全局变量只占运行时的内存空间,而不占用文件空间作为全局变量,在整个程序运行周期内,bss数据是一直存在的初始化过的全局变量(.data段)data 段用来存放那些初始化为非0 的全局变量data类型的全局变量既占文件空间,也占运行时的内存空间作为全局变量,在整原创 2017-03-07 13:25:12 · 420 阅读 · 0 评论