C语言小板凳(1)
来源:互联网 发布:淘宝不申请售后就退款 编辑:程序博客网 时间:2024/04/25 14:54
①strlen()函数作用:计算字符串的长度,当遇到“\n”字符时结束,即遇到数值“0”时结束计算,有一点特别要注意当这个函数用来计算数组的长度的时候遇到数值0他就停止计算了!
②register关键字修饰的变量不可以使用“&”取地址符来获取地址,因为它可能不在内存。
③ 问:“static”关键字修饰的变量能被改变不?答:肯定可以,它在编译的时候放在静态区,生长期是在整个程序的运行的周期。
④关键字“const”修饰的变量的属性是只读,注意它是变量,其值在编译期间是不能被使用的,因此,在定义数组的时候千万不要傻叉一样拿const变量来指定数组的个数,这样是编译不过的
⑤“const”关键字修饰指针变量时跟位置有关,且看下面的例子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,一步两步,一步两步!
0 0
- C语言小板凳(1)
- C语言小板凳(2)
- 小板凳社区
- 我的小板凳
- 板凳
- 杭电4883 TIANKENG’s restaurant(小板凳的问题)
- c语言小练习(1)
- C语言小总结(1)
- C语言小笔记(1)
- c语言小函数1
- C语言小练习 1
- C语言小知识(1)
- 分享:菜鸟的练习--我的第一个小板凳
- VTK初入门径--第一只小板凳
- VTK初入门径--第二只小板凳
- VTK初入门径--第三只小板凳
- VTK初入门径--第四只小板凳
- VTK初入门径--第五只小板凳
- js 中 setTimeout()的用法
- webRoot 文件相对位置问题
- LeetCode - Merge Sorted Array
- 语音识别之IPP使用教程以及vs上配置IPP
- 2 Getting Comfortable with Xcode 4 and the LLVM Compiler
- C语言小板凳(1)
- RangeSeekBarView 选定范围值的控件
- 5 Memory Management with Objective-C ARC
- js用链接传递中文参数到servlet时 乱码的解决方案
- 睡不着觉,发发牢骚
- HDU4547.CD操作——最近公共祖先
- Python yield 使用浅析
- android 多进程 Binder AIDL Service
- hdu 4998(解析几何)