会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SongPF
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
3
4
5
6
7
8
9
下一页
2017年1月11日
存储类、作用域、生命周期、链接属性
摘要: 1.linux下C语言程序的内存映像代码段(.text)、数据段(.data)、bss段、栈、堆的概念 (1)对应着程序中的代码(函数),代码段在linux中又叫文本段(.text)(2)部分平台下的const修饰的变量。 1、显式初始化为非0的全局变量; 2、显式初始化为非0的static局部变量
阅读全文
posted @ 2017-01-11 18:46 SongPF
阅读(468)
评论(0)
推荐(0)
2017年1月8日
制作动态链接库并使用
摘要: 函数库是通过头文件声明的函数原型,调用生成的链接库文件(.a.so.dll)。 无需提供源码。 动态链接库与静态链接库 动态链接库程序小,每次需要调用时访问库文件。依赖库运行。 静态链接库程序大,是将相关库文件函数直接嵌入代码中。编译完成后不依赖库。 编译调用库函数的C代码时,需要链接库 比如使用m
阅读全文
posted @ 2017-01-08 23:17 SongPF
阅读(2389)
评论(0)
推荐(0)
递归函数
摘要: 1、什么是递归函数(1)递归函数就是函数中调用了自己本身这个函数的函数。(2)递归函数和循环的区别。递归不等于循环(3)递归函数解决问题的典型就是:求阶乘、求斐波那契数列 2、函数的递归调用原理(1)实际上递归函数是在栈内存上递归执行的,每次递归执行一次就需要耗费一些栈内存。(2)栈内存的大小是限制
阅读全文
posted @ 2017-01-08 22:57 SongPF
阅读(602)
评论(0)
推荐(0)
宏定义与内联函数
摘要: 1、宏定义的规则和使用解析(1)宏定义的解析规则就是:在预处理阶段由预处理器进行替换,这个替换是原封不动的替换。(2)宏定义替换会递归进行,直到替换出来的值本身不再是一个宏为止。(3)一个正确的宏定义式子本身分为3部分:第一部分是#dedine ,第二部分是宏名 ,剩下的所有为第三部分。(4)宏可以
阅读全文
posted @ 2017-01-08 22:52 SongPF
阅读(876)
评论(0)
推荐(0)
C语言预处理
摘要: 1、由源码到可执行程序的过程(1)源码.c->(编译)->elf可执行程序(2)源码.c->(编译)->目标文件.o->(链接)->elf可执行程序(3)源码.c->(编译)->汇编文件.S->(汇编)->目标文件.o->(链接)->elf可执行程序(4)源码.c->(预处理)->预处理过的.i源文
阅读全文
posted @ 2017-01-08 22:25 SongPF
阅读(322)
评论(0)
推荐(0)
2017年1月6日
C语言结构体对齐
摘要: 1.结构体变量中的元素如何访问? (1)数组中元素的访问方式:表面上有2种方式(数组下标方式和指针方式);实质上都是指针方式访问。(2)结构体变量中的元素访问方式:只有一种,用.或者->的方式来访问。(.和->访问结构体元素其实质是一样的,只是C语言规定用结构体变量来访问元素用. 用结构体变量的指针
阅读全文
posted @ 2017-01-06 22:14 SongPF
阅读(654)
评论(0)
推荐(0)
C语言共用体、大小端、枚举
摘要: 1.共用体和结构体的相同和不同 (1)相同点就是操作语法几乎相同。(2)不同点是本质上的不同。struct是多个独立元素(内存空间)打包在一起;union是一个元素(内存空间)的多种不同解析方式。 (3).用指针方式描述共用体 2.大小端 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字
阅读全文
posted @ 2017-01-06 22:14 SongPF
阅读(533)
评论(0)
推荐(0)
2017年1月1日
C语言内存分配方法。
摘要: 当C程序运行在操作系统上时,操作系统会给每一个程序分配一定的栈空间。 堆为所有程序共有的,需要时需要申请访问。 一、栈 局部变量、函数一般在栈空间中。 运行时自动分配&自动回收:栈是自动管理的,程序员不需要手工干预。方便简单。 反复使用:栈内存在程序中其实就是那一块空间,程序反复使用这一块空间。 脏
阅读全文
posted @ 2017-01-01 00:42 SongPF
阅读(878)
评论(0)
推荐(0)
2016年12月25日
C与指针(结构体指针,函数指针,数组指针,指针数组)定义与使用
摘要: int (*p)[5]; int a[3][5]; int (*p)(int,int); int add(int a,int b) int **p1; int *p2; int *p3[5]; p1=&p2; p1=&p3; p[1][2]=5; *(*(p+i)+j)=5; *p(10,20) 一
阅读全文
posted @ 2016-12-25 22:24 SongPF
阅读(1911)
评论(0)
推荐(2)
2016年12月18日
C语言中函数的传入值与传出值
摘要: 看到一个函数的原型后,怎么样一眼看出来哪个参数做输入哪个做输出? 函数传参如果传的是普通变量(不是指针)那肯定是输入型参数; 如果传指针就有 2 种可能性了,为了区别,经常的做法是: 如果这个参数是做输入的(通常做输入的在函数内部只需要读取这个参数而不会需要更改它)就在指针前面加 const 来修饰
阅读全文
posted @ 2016-12-18 18:19 SongPF
阅读(1406)
评论(1)
推荐(0)
上一页
1
···
3
4
5
6
7
8
9
下一页
公告