zoukankan      html  css  js  c++  java
  • c语言学习 ----陷阱汇总

    1   宏定义

      宏只是最基本的替换,而不是运算。

      #define ONE 1

      #define TWO=ONE+ONE

      int a = 10,b=20,c;

      c=ONE +TWO *20 + a;

      

      c的值会是多少???一定要记得是替换而不是运算。也就是说,上述c等价于  c= ONE + ONE + ONE *20 +a;    

    2   static   

      默认值是  0

      他有局部的static 和全局 static  。如果局部变量加上static  的话,只要程序没有结束,该变量不会被销毁,会一直存在

    3   指针函数返回值

      只能是全局变量

      只能是字符串常量   ,字符串常量是无法修改的   char *p ="adfadf";     p是不允许修改的,因为他是字符串常量

      只能是静态变量   

      堆的地址   

    4    数组默认值

      char a[10];
      那这10个元素都是随机的
      如果是char a[10] = {'a','b','c'};
      那除了赋值的3个元素, 其他都是0

      static char a[10]  则这10个元素的默认值都是0

    5

     

    6  gcc  调试 

    命令行传参数的gdb调试。。。用 set args 来输入参数

  • 相关阅读:
    Ubuntu下ClickHouse安装
    redis.conf配置详解(转)
    php使用sftp上传文件
    ubuntu下安装nginx1.11.10
    cookie和session的区别
    linux下Redis主从复制
    linux-ubuntu 安装配置Redis
    php的常量
    Ubuntu防火墙配置
    技术资料
  • 原文地址:https://www.cnblogs.com/Lonelychampion/p/12356906.html
Copyright © 2011-2022 走看看