zoukankan      html  css  js  c++  java
  • C程序设计语言之一

      %d  按照十进制整形数打印;

      %o  按照八进制整形数打印;

      %x  按照十六进制整形数打印;

      %c  表示字符

      %s  表示字符串

      %%  表示%本身打印;

      %ld  long型输出

    ”幻数“:  #define   名字 替换文本

          #define  NUM 100

    ++i, 比i++更精炼:

      两者的区别:++i,不会产生一个中间寄存器变量来保存变量;

            i++,产生一个寄存器变量来保存i在把i+1赋值给i;

    在C语言中,所有参数都是“通过值”传递的,也就是说,传递给被调用函数的参数值存放在临时变量中,而不是存放在原来的变量中;(是一个简单的copy过程);

      被调用函数不能直接修改主调函数中变量的值,而只能修改其私有的临时副本的值;

    关键点:指针

      指针只能指向某种特定类型的对象,也就是说,每个指针都必须指向某种特定的数据类型。

      (一个例外:指向void类型的指针可以存放指向任何类型的指针,但它不能间接引用其自身)

    字符串常量最常见的用法是作为函数参数:

        printf("hello,  world ");

    当类似于这样的一个字符串出现在程序中,实际上是通过 字符串指针访问该字符串的;在上述语句中,printf函数接受的是一个指向字符数组第一个字符的指针。也就是说,字符串常量可通过一个指向其第一个元素的指针访问;

    C语言没有提供将整个字符串作为一个整体进行处理的运算符;

      下面两个定义之间有很大的差别:

        char amesage[ ] = " now  is  the  time ";  //字符串保存在栈区;,函数退出的时候就释放掉了;在函数调用时候要“警惕”;

        char *pmessage =  "now is  the  time";   //字符串保存在静态数据区;在整个应用程序退出时释放;pmessage指向的是一个常量;

    上述声明中,amessage是一个仅仅足以存放初始化字符串以及空字符''的一维数组;数组中的单个字符可以进行修改;

    但amessage始终指向同一个存储位置,另一方面,pmessage 是一个指针,其初值指向一个字符串常量,之后它可以被修改以指向

    其它地址。但如果试图修改字符串的内容,结果是没有定义的;

      

        amessage[2] = 'G';  //ok
        //pmessage[3] = 'G';  //error
     printf("%c ", pmessage[3]);

     

  • 相关阅读:
    IDF2011 值得关注的东东
    用GPIO模拟SPI协议的实现[转]
    GPIO Interfaces
    电路常识性概念(8)MOS管及简单CMOS逻辑门电路原理图
    Qt's Tools
    用python 控制gpio
    高阻态
    Worker Process, Work threads, Application Pool, AppDomain, Web Site,
    Web garden 和Web farm
    MOSS2007中用户信息的同步
  • 原文地址:https://www.cnblogs.com/chris-cp/p/3879992.html
Copyright © 2011-2022 走看看