①strlen()函数作用:计算字符串的长度,当遇到“\n”字符时结束,即遇到数值“0”时结束计算,有一点特别要注意当这个函数用来计算数组的长度的时候遇到数值0他就停止计算了!

②registerkeyword修饰的变量不能够使用“&”取地址符来获取地址,由于它可能不在内存。

③      问:“static”keyword修饰的变量能被改变不?

答:肯定能够,它在编译的时候放在静态区,生长期是在整个程序的执行的周期。

④keyword“const”修饰的变量的属性是仅仅读。注意它是变量,其值在编译期间是不能被使用的,因此,在定义数组的时候千万不要傻叉一样拿const变量来指定数组的个数,这样是编译只是的

⑤“const”keyword修饰指针变量时跟位置有关,且看以下的样例

const int *p; 和 int const *p; //两个一样*p仅仅读,p可变

int * const p; //*p可变,p不可变

const * const p; //两个都不可变

归纳为一句话就是:忽略类型名。“近水楼台先得月”。哈哈。好好意会意会^_^

说到类型名。有一点不得不说。typedef出来的是“新的”类型名,记得喔,遇到const时也要会变。

⑥volatile可防止代码被编译器自做多情地优化。看一个样例

int i=10;

int j=i; //运行完这一句。编译器并没有把赋给j的值丢掉

int k=i; //继续使用上面没有丢掉的值,不会产生汇编代码去又一次载入i的值

看。要是期间有谁改变了i值不就出事了!

⑦写一个測试代码来推断当前系统的存储方式是大端(高地址存低字节)还是小端

...

union test_mod

{

int i;

char ch;

}c;

c.i=1;

return (c.ch); //假设返回的是1,说明是小端模式

⑧enum枚举类型:枚举常量在编译时确定其值。从有赋值处開始依次加1。假设没有赋值则从0開始加

#include <stdio.h>

void main()

{

char len=0;

enum ColorVal

{

BLUE=1,

YELLOW,

RED,

ORANGE,

GREEN

} MyColor;

len = sizeof(MyColor);

printf("\n  yellow = %d\n",YELLOW);

printf("  sizeof(MyColor) = %d\n\n",len);

}

结果:



原因:枚举变量是int型的,上面定义的MyColor就是一个枚举变量。而枚举变量一个时刻仅仅能取一个值。这个值就是从枚举的“区间”里边取出来的。所以说,接下来不用说都明确啦

有一点要注意的是枚举变量里面的成员是能够单独拿出来使用的,成员是常量哦。并且记住不能MyColor.BLUE类似于结构体那样的操作



好好学C,一步两步,一步两步!

C语言小板凳(1)的更多相关文章

  1. 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(2)

    前文链接:狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1) 小甲鱼在很多情况下是跟着谭浩强鹦鹉学舌,所以谭浩强书中的很多错误他又重复了一次.这样,加上他自己的错误,错谬之处难以胜数. 由于拙 ...

  2. 通过反汇编C语言小程序学习Liunx汇编语言

    大家好!    我是来自山东师范大学的吴乐.    今天在<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...

  3. 【C语言探索之旅】 第一部分第八课:第一个C语言小游戏

    ​ 内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写 ...

  4. Linux下简单C语言小程序的反汇编分析

    韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...

  5. c语言小程序以及java生成注释文档方法

    c语言小程序:sizeof和strlen() sizeof运算符以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度,字符和字节不是一回事. char类型用于存储字母和标点符号 ...

  6. C语言小程序——推箱子(窄字符和宽字符)

    C语言小程序——推箱子(窄字符Version) 推箱子.c #include <stdio.h> #include <conio.h> #include <stdlib. ...

  7. Linux C语言小程序

    Linux C语言小程序 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include & ...

  8. C语言小练习之学生信息管理系统

    C语言小练习之学生信息管理系统 main.c文件   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...

  9. 012-C语言小游戏之推箱子

    012-C语言小游戏之推箱子 一.创建游戏地图   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #define ROWS 11 #define COLS 12   char ...

随机推荐

  1. J.U.C并发框架源码阅读(十六)FutureTask

    基于版本jdk1.7.0_80 java.util.concurrent.FutureTask 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is su ...

  2. (6)sql/puls

    host   在sql/puls中使用cmd或linux操作系统的命令

  3. MySql笔记之操作数据库

    看前引导 ♦MySQL默认的端口号:3306 ♦MySQL中的超级用户:root ♦SQL语句结尾必须以分号结尾 ♦语法使用介绍 花括号  必须有的部分 中括号  可选项 ,可有可无 竖线  从这个当 ...

  4. ELK故障:elk在运行一段时间后,没有数据。

    故障排查: 1. 查看kafka.logstash.elasticsearch进程是否运行正常,显示正常. 2. 使用logstash在前台运行,有日志输出 3. 查看kafka的topic的offs ...

  5. mOOC 编绎原理

    http://mooc.study.163.com/course/YOOKCS0009-1000002001#/info http://study.163.com/series/1001245004. ...

  6. OpenFire匿名登陆

    原文:http://blog.csdn.net/majian_1987/article/details/9714529 首先在服务的控制台,设置允许匿名登陆,设置界面如下: package com.b ...

  7. iOS开发15:自定义UITableViewCell

    上篇文章介绍了如何用UITableView显示表格,并讲了几种UITableViewCell的风格.不过有时候我们需要自己定义 UITableViewCell的风格,其实就是向行中添加子视图.添加子视 ...

  8. Could not find com.android.tools.build:gradle:3.0.0-alpha3

    最近使用Android Studio 3.0 canary 3 时新建项目遇到标题所示错误,后网上找到解决办法.记录如下: 在项目的build.gradle文件中添加如下内容即可解决. reposit ...

  9. JAVA常见算法题(十一)

    package com.xiaowu.demo; /** * 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? * * * @author WQ * */ public c ...

  10. [置顶] kubernetes创建资源yaml文件例子--rc

    apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: ReplicationController #指定创建资源的角色/类型 metadata: ...