zoukankan      html  css  js  c++  java
  • C和指针---读书笔记。

    C和指针---读书笔记。
    1,unsigned int  声明无符号int类型 默认是 singned,即此整数类型包括正负数。也可用于long上。
    说明符有 unsigned signed short long
    2,枚举 enum jump{cpu = 100, a = 2};
    3,for 循环的执行顺序,,for( expression1; expression2, expression3){statement;}
    expression1->expression2->statement->expression3->expression2->statement->expression3->.....重复此过程直到不满足条件。
    4,C中的 switch(expression){statement},expression只能是整数。
    5,goto,,可以跳出多组循环,break不可以。
    6,C里面 ,if(i) i 必须是int或float类型,除0外其他数值都为真。
    7,所谓短路求值就是 expression1 && expression2,如果expression1为假,则不执行expression2,同理 expression1 || expression2,如果expression1 为真,则表达式为真,不执行expression2。这种只执行expression1就得出结论的判断语句被称为"短路求职"。
    8,指针。
         int a = 112, b = -1;
         float c = 3.14;
         int *d = &a;
         float *e = &c;
         printf("d = %i ", d);
         printf("d = %p ", d);
         printf("*d = %p ", *d);
         printf("*d = %d ", *d);
         *d = 23;
         printf("a=%d ", a);
    注意 占位符%i就是打印值,%p是打印指针,也就是存值的地址。注意指针也有自己的地址。*d = 9,在对指针进行间接操作之前,确定它们已经被初始化。*d = &a,,确定a已初始化。
    10,int a;
    int *d = &a;
    *d = 10 - *d;
     d = 10 - *d;
     倒数第二行,与a = 10 - a,是一个意思。最后一行,d = 10 - *d是错误的,因为d不是整型,d是一个指针,没人知道或没人在乎它的值。  
     10,左值与右值。
     左值右值基本信息编辑
    C/C++语言中可以放在赋值符号左边的变量,即具有对应的可以由用户访问的存储单元,并且能够由用户去改变其值的量。左值表示存储在计算机内存的对象,而不是常量或计算的结果。或者说左值是代表一个内存地址值,并且通过这个内存地址,就可以对内存进行读并且写(主要是能写)操作;这也就是为什么左值可以被赋值的原因了。相对应的还有右值:当一个符号或者常量放在操作符右边的时候,计算机就读取他们的“右值”,也就是其代表的真实值。简单来说就是,左值相当于地址值,右值相当于数据值。右值指的是引用了一个存储在某个内存地址里的数据。
    比如。
    int a=3;
    const int b=5;
    a=b+2; //a是左值,b+2是右值
    b=a+2; //错!b是只读的左值但无写入权,不能出现在赋值符号左边
    (a=4)+=28; //a=4是左值表达式,28是右值,+=为赋值操作符
    34=a+2; //错!34是字面量不能做左值

  • 相关阅读:
    返回一个一维整数数组中最大子数组的和02
    软工作业04四则运算网页版
    所有子数组的和的最大值
    学习进度表(第五,六周)
    学习进度表(第四周)
    四则运算2的单元测试
    《构建之法》阅读笔记02
    软工作业03
    单元测试练习
    学习进度表(第三周)
  • 原文地址:https://www.cnblogs.com/guanliyang/p/3658681.html
Copyright © 2011-2022 走看看