zoukankan      html  css  js  c++  java
  • 二维数组和动态内存分配

    C 语言还提供了四个可以修饰 int 的关键字:short、long、signed,以及 unsigned。
    无符号整型没有负数,比有符号整型大一倍。

    无符号整数,不能表示负数。

    所有没有标明 unsigned 的整数类型默认都是有符号整数。
    C语言只规定short <= int <= long int,字节长度跟操作系统和编译器有关,long int长度至少32位,而64位类Unix系统为64位。
    一般把 short 称为短整型,把 long 称为长整型,把 long long 称为超长整型,把 int 称为整型。
    %s是字符串,%c输出字符;
    "123”其实是由’1’、’2’、’3’、’’组成
    eg:
    char a[] = "123":
    char a[] = {'1','2','3'}
    字符串的输出”%s”,’’是不会输出的

    第一周指针中学习的动态内存分配(malloc):
    就是向系统要空间,有借有还,
    1.头文件#include<stdlib.h>
    2.返回的结果是void*,可使用强制类型转换来改变数据类型
    3.向molloc申请的空间的大小是以字节为单位的,
    如:
    (int*)malloc(n*sizeof(int)
    4.free() 只能还申请来的空间首地址。
    

    free()常见的问题及解决:(不好的习惯将导致大程序崩溃)

    1.申请了没free--长时间运行内存下降(牢记malloc 和free搭配使用)

    2.free了再free,地址变了,还回去的不是空间的首地址(程序开始的时候要有自己的框架,多读他人的代码学习,自我总结实践中遇到的问题)
    putchar表示向标准输出(运行的黑框)写入一个字符
    int putchar(int d)表示参数类型是int,返回结果也是一个int。
    EOF(-1)表示写失败

    二维数组的计算

    int a[2][4]
    siaeof(ages)={(24)4}=32

    https://www.runoob.com/w3cnote/c-static-effect.html 该链接参考static

    printf(%[flags][width][.prec][hlL]type)

    flags

    • 左对齐
    • 下一个参数
      width][.prec]
      这部分指明了输出的宽度 小数点位数
      %-8.6d代表左对齐,输出宽度为8个字节,小数点后6位。
      这里的字符数width可以用,表示用下一个参数作为宽度。
      例如 printf(“%
      d”, 6, 12);是用6当做输出宽度,相当于 printf(“%6d”, 12);
      小数点后面的也是类似的 %6.*f *处会被参数中的数字代替
      n代表读入写出的个数
      printf 函数


      scanf中的 * 代表跳过
      scanf(" * %d%d",num);
      123 345
      输出的是345,前面那个被跳过

    字节和字符 字节是单位,字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。
    据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。
    scanf中的%i比%d灵活、多变,为啥不经常用i而是d?
    字符和字符型的区别?

  • 相关阅读:
    java 静态代码块和spring @value等注解注入顺序
    中秋节
    IP切换
    MMF循环队列实现RPC
    Redis 集群方案
    简单Http多线程下载实现
    信息采集
    大四了
    懒懒交流会《前端,架构,框架与库》里面提到的一些问题
    [知识整理] 导数据工具
  • 原文地址:https://www.cnblogs.com/huqingqing2/p/12861791.html
Copyright © 2011-2022 走看看