博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C程序设计语言之一
阅读量:5979 次
发布时间:2019-06-20

本文共 1061 字,大约阅读时间需要 3 分钟。

  %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\n");

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

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

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

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

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

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

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

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

  

    amessage[2] = 'G';  //ok

    //pmessage[3] = 'G';  //error
 printf("%c\n", pmessage[3]);

 

 

 

 

转载地址:http://hhaox.baihongyu.com/

你可能感兴趣的文章
UEditor修改之移植SAE
查看>>
HIVE外部表 分区表
查看>>
MSN中国,放眼望3年
查看>>
分享一个option样式传递给select当前选中样式
查看>>
.net图表工具汇总
查看>>
Java的实例变量、静态变量、局部变量的区别
查看>>
[转载] Linux架构
查看>>
mysql授权
查看>>
Ubuntu下SSH设置
查看>>
Mac下Java JNI (java native interface)调C
查看>>
点差法
查看>>
PHP获取图片等比例高度
查看>>
np.clip截取函数
查看>>
关闭任务栏右下角盾牌图标
查看>>
MFC学习建议【转载】
查看>>
LOJ#3093. 「BJOI2019」光线(递推+概率期望)
查看>>
git 常用命令
查看>>
IDEA org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
查看>>
洛谷P4015 运输问题
查看>>
黑马程序员-java基础规范和进制
查看>>