C语言小板凳(1)
①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)的更多相关文章
- 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(2)
前文链接:狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1) 小甲鱼在很多情况下是跟着谭浩强鹦鹉学舌,所以谭浩强书中的很多错误他又重复了一次.这样,加上他自己的错误,错谬之处难以胜数. 由于拙 ...
- 通过反汇编C语言小程序学习Liunx汇编语言
大家好! 我是来自山东师范大学的吴乐. 今天在<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...
- 【C语言探索之旅】 第一部分第八课:第一个C语言小游戏
内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写 ...
- Linux下简单C语言小程序的反汇编分析
韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...
- c语言小程序以及java生成注释文档方法
c语言小程序:sizeof和strlen() sizeof运算符以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度,字符和字节不是一回事. char类型用于存储字母和标点符号 ...
- C语言小程序——推箱子(窄字符和宽字符)
C语言小程序——推箱子(窄字符Version) 推箱子.c #include <stdio.h> #include <conio.h> #include <stdlib. ...
- Linux C语言小程序
Linux C语言小程序 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include & ...
- 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 ...
- 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 ...
随机推荐
- SPRING CLOUD服务网关之ZUUL
服务网关是微服务架构中一个不可或缺的部分.通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由.均衡负载功能之外,它还具备了权限控制等功能.Spring Cloud Netflix中 ...
- poj3693(后缀数组)
poj3693 题意 给出一个串,求重复次数最多的连续重复子串,输出字典序最小的. 分析 论文 例8(P21). Sparse-Table算法预处理出任意两个后缀串的LCP. code #includ ...
- EGS5在linux系统下安装过程
转载自52MC论坛 作者:xinruibj 平台:Fedora 13 内核版本为:2.6.33, g77版本为:3.4.6: 用户名为xinrui,下面出现这个文件夹xinrui时,修改为你自己的用户 ...
- Strobogrammatic Number -- LeetCode
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside ...
- bzoj 5346: tree (其实是是某次雅礼集训的题)
用prufer序列的公式直接dp,O(n^4)的算法简简单单就写出来了23333. 按理说 O(n^4)是需要优化成O(n^3)才能过的,然鹅我也不知道我怎么过了23333 (那就懒得优化了hhhhh ...
- 在前端页面调用sevlet的路径
1.路径:相对路径和绝对路径 <!-- 使用相对路径访问Servletpath --> <a href="servlet/ServletPath">这是Se ...
- Android TextView 阴影效果(投影)
Android TextView 阴影效果(投影) 四个参数: 1 2 3 4 android:shadowColor="@color/white" android:shadowD ...
- Bluetooth篇 开发实例之五 为什么无线信号(RSSI)是负值?
原文:http://www.cnblogs.com/lele/articles/2832885.html 为什么无线信号(RSSI)是负值 答:其实归根到底为什么接收的无线信号是负值,这样子是不是 ...
- 关于poedit打开po文件乱码的问题
由于poedit打开po文件时,无法识别译文使用的何种编码,因此需要在po文件头部加上以下代码: msgid "" msgstr "" "Plural ...
- ubuntu-kvm上面deploy qcow2格式虚拟机
ubuntu-kvm完成后,将xxx.qcow2格式的镜像拷贝到ubuntu-kvm这个虚拟机上面去. 1. 若是ubuntu server没有图形界面,可以先安装desktop,参考http://w ...