码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中的那些库函数(持续更新中)

时间:2016-02-25 10:22:23      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

1.【exit()】

        exit是在调用处强行退出程序,运行一次程序就结束。exit(0)表示正常退出。exit(1)表示异常退出,这个1是返回给操作系统的。无论是写在main函数中,还是在其他函数中,都是程序退出。一般都是认为0是正常退出、其他数字是异常退出。所在的头文件是stdlib.h.  返回值的意义其实同main函数中的return一样,零表示正常,非零表示异常。

2.【memset】

函数的声明为:memset(void *, int, size_t n)。功能是将void *所指向的某一块内存(大小由size_t指定,可以使用sizeof函数计算)中的首n个字节的内容全部设置为int值。这个函数通常为新申请的内存做初始化工作。而如果是在链表中,当我们申请一个新的节点,也会使用这个函数来初始化这个节点。示例代码如下:

#include "stdio.h"
#include "string.h"

int main(int argc,const char* argv[]){

    char str[] = "abcde";
    printf("%s\n",str);
    memset(str, 0, strlen(str));
    printf("%s\n",str);

    return 0;
}

打印结果如下:
技术分享

可以看到其实是把数组置空了,而不是把数组里面的元素每个置为0.

#include "stdio.h"
#include "string.h"

int main(int argc,const char* argv[]){

    char str[] = "abcde";
    printf("%s\n",str);
    memset(str, ‘0‘, strlen(str));
    printf("%s\n",str);

    return 0;
}
打印结果如下:

技术分享

在这里是把数组中的元素都替换为字符‘0’。


【3.malloc】

       需要包含头文件stdlib.h。函数声明为 void *malloc(int size). malloc向系统申请分配size个字节的内存空间。返回类型为void *类型。void*表示未确定类型的指针。可以强制转换为任何其他类型的指针,如果不进行类型转换就会报错。malloc只是进行分配内存,并没有对内存进行初始化,所以得到的一片新内存中,值将是随机的。

示例代码如下:

#include "stdio.h"
#include "string.h"
#include "stdlib.h"

int main(int argc,const char* argv[]){

    char *p;

    p = (char *)malloc(sizeof(char));
    if(p)
        printf("内存分配地址: 0x%x\n",p);
    else
        printf("分配内存失败!\n");
    free(p);

    return 0;
}

打印结果如下:

技术分享

上面的代码中我其实只是分配了一个char字符的空间。如果想要n个字符,直接如下:(char *)malloc(n * sizeof(char))即可。


【4.sizeof】

计算空间的字节数。可以对数据类型、变量进行计算。实际上,sizeof计算对象的大小也是转换成对其对象类型的计算。也就是说,同种类型的不同对象其sizeof值都是一致的。示例代码如下:

#include "stdio.h"
#include "string.h"
#include "stdlib.h"

int main(int argc,const char* argv[]){


    int a[10];
    //因为每个int型占用4个字节
    printf("数组占用字节:%d\n",sizeof(a));

    printf("char占用字节:%d,int占用字节:%d,double占用字节:%d\n",sizeof(char),sizeof(int),sizeof(double));

    int *p;
    //可以看到,在这里一个指针占8个字节
    printf("指针占用字节:%d\n",sizeof(p));

    char *str1 = "abcde";
    //这里打印的也是一个指针,注意char是我们编程能用的最小数据类型
    printf("字符串1占用字节 :%d\n",sizeof(str1));

    char str2[] = "iiii";
    //这里打印数组的长度
    printf("字符串2占用字节:%d\n",sizeof(str2));

    return 0;
}

打印结果如下:

技术分享



















C语言中的那些库函数(持续更新中)

标签:

原文地址:http://blog.csdn.net/chenyufeng1991/article/details/50733972

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!