zoukankan      html  css  js  c++  java
  • c语言疑惑点

    const:

         编译器通常不为普通的const分配内存,而是将它们保存在符号表中,

         这使它成为编译期间的常量,没有存储和读取操作,使它的效率也很高

         

         const int * const p4 = &a;

         const int * p4 = &a;

         int * const p4 = &a;

         记忆技巧     看*的位置

         如果const在*的左侧 表示值不能改变,但是指向可以改变

         如果const在*的右侧 表示指向不能改变,但是值可以改变

         如果在*但两侧都有const标识指向和值都不能改变

    5)malloc函数:

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

        // p中存放的是新申请的内存空间的首地址

        //如果不对malloc申请的空间赋值,则其中存的是垃圾数

        int *p = (int *)malloc(4 * sizeof(int));//16个字节

        //calloc: 分配指定块数和长度的内存空间

        //格式:calloc(块数,长度)

        //分配了4块,每一块内存长度为4字节的内存空间

        //它们的地址也是连续的可以自动初始化为0

        //int *p1 = (int *)calloc(4, sizeof(int));

        //relloc可以给已经存在的内存空间扩充大小

        //返回新内存空间地址

        //p = realloc(p, 40 * sizeof(int));

        //使用一个函数进行初始化memset, 中间放的是asic码;

        //memset(p, 'A', 16);

        if(p != NULL){

            *p = 10;

            *(p + 1) = 100;

            *(p + 2) = 1000;

        }else{

            printf("申请内存空间失败!");

        }

        printf("%p %p %p", *p, *(p + 1), *(p + 2));

        return 0;

    }

  • 相关阅读:
    Git
    Qcon2016上海站PPT
    TeamCity
    在cmd界面,怎么样退出Node.js运行环境
    python 2.x与python3.x的区别
    d3.max()与d3.min()
    d3.svg.line() 曲线构造器
    d3.js 之SVG:矢量化图形绘制
    moment.js 时间格式化库
    directive
  • 原文地址:https://www.cnblogs.com/coolcold/p/4674361.html
Copyright © 2011-2022 走看看