c琐碎知识点

1.singned char

signed char / char / unsigned char  区别 ,主要在于char,char默认为是signed还是unsigned 与具体的编译器有关 ,vc6.0默认为signed。

2、可以在include 文件里面的 float.h 中查看 各种有关float的宏定义

3、八进制 0123  、十六进制 0x123

4、enum computer{

lianXiang;

daiEr;

hongJi;

};

用enum来定义 常量的取值范围 ,这样computer的取值就只能是 lianXiang daiEr hongJi 里面的了 ,而lianXiang如果不初始化  ,默认初始化为0,后面依次增加1;若从daiEr开始初始化 ,则daiEr后面的依次在 daiEr的初值的基础上加1.

5、在c中 ,字符串常量用“”来定义。

6、 int * a=NULL;

printf("%p\n",a);

%p是以地址的格式输出

7、char a[4]={‘A‘,‘B‘};//若是a[4] 中一个元素都不初始化,则数组内元素为乱码。只要有一个                            //初 始 化 则其它未被初始化的都是0

printf("%p\n",a);

printf("%p\n",&a);其中 a指的是数组a的首元素的地址,&a是数组a[]的地址 ,两个在数值上相等,但是意义不同

如: printf("%p\n",a+1);

printf("%p\n",&a+1);  输出的地址后移 4个字节 因为a中含有4个元素。

8、

#define PCHAR char*

typedef char* pchar;//注意分号

PCHAR PX1,PX2;

pchar px1,px2;

char ch=‘a‘;

PX1=&ch;

PX2=&ch;//cannot convert from ‘char *‘ to ‘char‘

px1=&ch;

px2=&ch;

此时px1和px2都是字符指针,因为typedef是给一个类型起了另一个名字(这里是将char* 起名为pchar ,即pchar就是 指向字符的指针 ,所以px1 和px2 都是字符型指针)

而define 只是一个宏替换  (即将程序中 所有的 char* 替换成PCHAR ) 所以相当于是

char* PX1,PX2(char *PX1,PX2); 所以 只有PX1是字符指针,而PX2是字符类型

9、 1)int const * pa;

2)int *const pb;

1)中 const 往后面看 是*pa ,是一个内存的表示,所以pa这个指针 指向的内存单元的内容不可变

10、static 修饰的东西 放到静态区中,随程序运行到结束,但是不一定是在整个程序中都可见

1)static 修饰函数,

2)static 修饰变量

文件级: 存放在静态区,被修饰后 还是在静态区

块级:本来是存放在 堆栈中,被static修饰后 存放在静态区 ,生存期为程序级,可                    见 性  还是块级

函数参数:不可以被static修饰

11、linux 下 gcc和cc 都是编译c语言程序用的

g++是用来编译c++程序的

2)rm-f 删除文件的名字

12、预处理(头文件,宏定义,注释:注释用一个空格来代替) ----编译---链接

13、 ??(------[

??<------{

/a可以发出蜂鸣

14、volatile :不允许编译器进行类型优化

15、while(1)

{

break;    //可以跳出循环

}

while(1)

{

continue;//跳不出去

}

16、书写规范:switch 语句中 一定要写上 default  ,即使default 语句没有 起作用的语句

17、

时间: 2024-10-05 06:05:25

c琐碎知识点的相关文章

Scala琐碎知识点

tuple scala中的tuple数据结构,是用来包含不同数据类型的容器,定义如下: 访问tuple中的元素,需要使用._n的语法,索引从1开始: scala中的tuple的长度最多为22,超过22报错: 上述定义scala中的tuple的方式是下面这种方式的缩写: scala中的cons(:: 和 :::  ) 首先要知道在Scala中Nil代表的是空的列表List cons定义: x :: xs 如下就是把一个Int类型添加到Int类型的List中 ::: 这个运算符在scala中表示的是

Thinking in java 琐碎知识点之 I/O流 、对象序列化

Java I/O流 .对象序列化 1.File类 此类的实例可能表示(也可能不表示)实际文件系统对象,如文件或目录. File类可以新建.删除和重命名文件和目录,但是File不能访问文件本身的内容,这要使用IO流. File对象的createNewFile()方法在磁盘上创建真实的文件 例程:FileTest.java import java.io.*; public class FileTest { public static void main(String[] args) throws I

Java琐碎知识点

知识点1: 1 String str1 = "abc";// 没有创建任何对象 2 String str2 = new String("abc");// 创建了2个对象 3 String str3 = new String("abc");// 创建了1个对象 4 System.out.println(str1 == str2);// 输出:false 5 System.out.println(str1 == str3);// 输出:false 6

Tinking in java 琐碎知识点之反射

刚开始工作的这段时间,使用公司的成熟的开发框架,感觉越用越害怕.框架是提高了开发效率,但是也使得自己 对基础知识越来越陌生,基本都要忘光了.所以,为了告别这种心理上的害怕,最近开始学习Spring. 公司的开发框架是基于SpringMVC和hibernate封装而成,很多框架的细节的也都被屏蔽了,所以,自己连spring都 不会使用,这个很危险.所以,我自己也先从spring开始学习.曾经大体学过一点点spring,现在再回来学习,发现更 容易理解了,特别是IOC的概念,也可能是在使用公司的框架

Android琐碎知识点集合

1.最近发现android studio更新之后用的v7包,每次创建Activity的时候自动继承的是AppCompatActivity,很不舒服,还是习惯Activity.没什么大的毛病,毕竟google的新包嘛.但是有一个还是影响的,我遇到过一次如果继承的是AppCompatActivity,那么隐藏标题栏会失效.也就是这句代码不起作用,而且引起崩溃this.requestWindowFeature(Window.FEATURE_NO_TITLE);不知道为啥,我重新继承Activity就好

细节,琐碎知识点

1.类成员函数参数的默认参数如果为类成员变量时,改成员变量必须为静态成员变量. 2.类成员函数如果用默认形参,只需在头文件申明即可,在cpp文件不能再写入默认形参,否则会造成重定义错误. 3.静态成员变量记得要在cpp文件中定义. 4.静态成员变量只需在头文件申明加上static即可,在源文件不必再次写上static. 5.结构体可在内部直接初始化,类不可以. struct Test {     int a = 1;     int b = 2; }; 6.非聚合对象不能使用列表初始化.

js琐碎知识点

1.javascript发展史 javascript首先由Netscape设计,为改善浏览器用户体验,名为liveScript, 网景公司被sun公司收购,为了宣传改名为javascript 后来sun公司被oracle公司收购,javascript版权归oracle所有 2.浏览器 = shell + 内核   IE       trident   Chrome          webkit / blink (v8引擎,js代码直接转化为机械码来执行,渲染速度快)   Safari     

linux琐碎知识点

1.awk的使用方式,pattern支持正则表达式 1 awk 'pattern{action}' {filenames} 其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令.花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组. pattern就是要表示的正则表达式,用斜杠括起来. 2.有三种方式调用awk 命令行方式.shell脚本方式(#!/bin/awk).使用awk -f命令调用脚本

工作中用到的琐碎知识点

1.时间格式化 hh:mm:ss   按照12小时制的格式进行字符串格式化(14:00,会返回02:00) HH:mm:ss 按照24小时制的格式进行字符串格式化