第12 c51的常用库函数.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12 c51的常用库函数

12.5.2 带返回指针的字符串转换函数 带返回指针的字符串转换函数将字符串转换成数值类型并输出,同时返回未转换部分的指针。根据输出数值类型的不同,可以有如下几种形式: float strtod(const char*s,char**ptr); long strtol (const char*s,char**ptr,unsigned char base); unsigner long strtoul (const char*s,char**ptr,unsigned char base); 12.5.3 随机函数 随机函数用于产生伪随机数。在C51语言中,包含两种随机函数,其函数声明如下: int rand(); void srand(int n); 其中,函数rand用于返回一个0到32767之间的伪随机数,而函数srand用来初始化随机数发生器的随机种子。如果不使用srand函数,则对rand函数的相继调用将产生相同的随机序列。 12.5.4 数组内存分配函数 数组内存分配函数用于为n个元素的数组分配内存空间,其函数原型如下: void*calloc (unsighed int n,unsighed int size); 其中n数组元素的个数,size为数组中每个元素的大小。该函数所分配的内存区域用0进行初始化。返回值为已分配的内存单元起始地址,如果不成功则返回0。 12.5.5 释放内存函数 释放内存函数用于释放前面已分配的内存空间,其函数原型如下: void free (void xdata *p); 其中,指针p指向待释放的存储区域。p必须是以前用calloc、malloc或realloc函数分配的存储区域,如果p为NULL,则该函数无效。经free函数所被释放的存储区域可以参与以后的分配。 12.5.6 初始化内存函数 初始化内存函数用于对前面申请的内存进行初始化,其函数原型如下: void init_mempool (void xdata *p,unsighed int size); 其中,指针p表示存储区首地址,size表示存储区大小。该函数可对被函数calloc、malloc、free或realloc管理的存储区域进行初始化。 12.5.7 内存分配函数 内存分配函数用于在内存中分配指定大小的存储空间,其函数原型如下: void*malloc (unsighed int size); 其中,size为分配的空间大小,返回值为指向所分配内存的指针。如果返回NULL,则表示没有足够的内存空间可用。 12.5.8 调整内存大小函数 调整内存大小函数用于调整先前分配的存储器区域大小,其函数原型如下: void*realloc (void xdata *p,unsighed int size); 其中,参数p表示该存储区域的起始地址,参数size表示新分配的存储区域大小。该函数的返回值为新区域所指向的指针。如果返回NULL,则表示没有足够的内存空间可用。原存储器区域的内容被复制到新存储器区域中,如果新存储器区域较大,多出的区域不作初始化。 12.6 内部函数 内部函数的原型声明包含在头文件INTRINS.H中。下面介绍常用的一些函数。 12.6.1 循环左移函数 循环左移函数主要用于将数据按照二进制循环左移n位。按照操作数据类型的不同,其函数原型如下几种形式: unsighed char _crol_(unsighed char val,unsighed char n); unsighed int _irol_(unsighed int val,unsighed char n); unsighed long _lrol_(unsighed long val,unsighed char n); 其中,val为待移位的变量,n为循环移位的次数。函数_crol_、_irol_和_lrol_分别用于字符型、整型和长整形变量的循环左移,其返回值分别为移位后的字符型、整型和长整形。该函数与8051单片机的RLA指令相关。 12.6.2 循环右移函数 循环右移函数主要用于将数据按照二进制循环右移n位。按照操作数据类型的不同,其函数原型如下几种形式: unsighed char _cror_(unsighed char val,unsighed char n); unsighed int _iror_(unsighed int val,unsighed char n); unsighed long _lror_(unsighed long val,unsighed char n); 其中,val为待移位的变量,n为循环移位的次数。函数_cror_、_iror_和_lror_分别用于字符型、整型和长整形变量的循环

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档