c语言 数据类型, 数组

1.基础数据类型
     signed 修饰无符号数据, unsigned 修饰有符号数据。
     signed int i1 = 1;
     unsigned int i2 = -1;

     c的基本类型整理:
     
     sizeof(); 获取对象,或者类型的变量 存储字节的大小。
     比如:sizeof(i1);
     long 和 int  在早期的十六位计算机上面 int 2字节,long 4字节,而现在一般32,64下,long和int一样。
     想要8字节的话就可以是 long long
      long long   i3 = 10;     sizeof(i3);
    打印的话:
    printf("%d\n",i1);     %d的意思就是格式化  int类型的数据

    格式化还有:
   8进制      %o
   16进制       小写: %x    大写:%X
   (0x)+16进制前面     %#x

    C99标准以前,C语言里面是没有bool,C++里面才有,
    C99标准里面定义了bool类型,需要引入头文件stdbool.h
    bool类型有只有两个值:true =1 、false=0。
    因此实际上bool就是一个int
    所以在c/c++中 if 遵循一个规则, 非0为true,非空为true;
    NULL 其实也就是被define为了 0

2. 格式化  
    需要引入 #include <stdio.h> 头文件
    printf、sprintf等
    sprintf:将格式化的数据写入第一个参数

    char  str[100];
    sprintf(str, "小明今年%d岁了", 10);
    printf("%s", str);

     输出如下:


3.数组与内存布局
    数组:
    int array[6];  必须声明是确定数组大小
    int array1[] ={1,2,3,4,5};  或者直接初始化

    动态内存申请:
    malloc   没有初始化内存的内容,一般调用函数memset 来初始化这部分的内存空间
    int *dil = (int*)malloc(1 * 1024 * 1024);   //需要用指针来接收
    memset(dil, 10, 1 * 1024 * 1024);     
    
    calloc   申请内存并将初始化内存数据为null
    int *di2 = (int*)calloc(10, 4);

    realloc   对malloc申请的内存进行大小的调整
    char *a = (char*)malloc(10);
    realloc(a,20);

    这些申请的内存 使用完都需要通过  free();   来释放内存
    
    if (dil){
         free(dil);
         dil = 0;
     }
     if (di2){
         free(di2);
         di2 = 0;
     }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值