King的专栏

油滴穿钱孔的卖油翁不必羡慕百发百中的将军,唯手熟尔!-- 好记性不如烂笔头,夯实基本功!...

C++中volatile关键字

volatile关键字 volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一...

2016-04-10 17:23:26

阅读数 297

评论数 0

函数指针

函数名与数组名的区别:  数组a 与&a值一样,但是类型不一样;但是函数名和函数取地址是一样的:   数组名的取地址和数组名结果一样,但是类型不一样;   变量在定义的时候就分配空间;   函数名字+()就叫函数的调用; 但是在C++中,成员函数用指针函数调用的时候,必须要加&a...

2016-04-09 20:14:33

阅读数 373

评论数 0

指针与多维数组(2)

因为指针与数组的结合产生了很多有趣的东西,所以接着来看看多维数组与指针之间的关系,看看指针数组和数组指针!! 指针数组:int * as[10]; 数组指针:int (*as)[10]; []的作用: 1.定义变量时有[],代表定义的是数组; 2.参数传递时有[],代表传递的是指针; 3.地址的右...

2016-04-09 19:37:03

阅读数 460

评论数 0

指针与数组(1)

说到C语言,指针绝对是c语言的压轴出场,是c语言的重头戏,也是C语言的精华所在,由于指针的存在,我们可以直接对内存空间操作,拿到某个变量的指针(得到它的地址),那么它那块空间就属于我的了,想干什么就干什么!!!! 就好像c++里由于虚函数的存在,出来一个虚表,那么只要拿到这个虚表的指针(虚表的地址...

2016-04-09 18:34:19

阅读数 442

评论数 0

C语言赋值类型的转换

C语言在赋值的时候,可能会遇到类型不一致的情况,在VC6.0的编译器里,如果类型不一致,一般会给个警告,然后做隐式转换,将=右边的类型转换为=号左边的类型,然后再赋值,这样就会有相应的数据精度的丢失与不一致: 原则如下: 1.在表达式中,char 和 short 类型的值,无论有符号还是无...

2016-04-09 16:11:27

阅读数 1975

评论数 1

浅谈a++ 与a--

曾几何时,刚接触到C、C++的时候,总是会纠结一些小问题,然后就去问老师,这是怎么回事,,其中就有,a++与a--这样的题。。。老师总是告诉我们a++,是先计算后算++;++a就是先算a++再计算; 其实: ++/--的运行原理,并不是先加后加的问题; 不管是num++还是++num,其实都是先运...

2016-04-09 15:50:26

阅读数 574

评论数 1

变量的内存分配与printf()函数

首先来看下面一个简单的代码,程序和生活一眼个,其实里面很多都不是我们想象的那样执行的,的知道它里面的工作方式: #include int main() { char c1; char c2; printf("%p\n",&c1); //0012ff44 pr...

2016-04-09 15:11:41

阅读数 740

评论数 0

静态变量 static

静态变量是一个非常重要的知识点,无论笔试面试,都是一个高频的考点!确实也十分重要,这里简单的总结一下,它C与C++中的作用!!以备后用! 变量的生命周期与作用域 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些...

2016-04-07 11:30:41

阅读数 1966

评论数 0

大端小端

测试本机是打断还是小端; 以前总听说大端小端,一直没太理解,其实只要动动手一切就差不多了! 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 小端模式,是指数据的高...

2016-04-07 10:20:26

阅读数 421

评论数 0

union与enum

共同体(联合)union 定义--在内存中的存储形态 特点 覆盖技术 系统采用覆盖技术,实现变量的内存共享。所以在某一时刻,存放的和起作用的是最后一次存放的成员值 地址共享--联合所有的变量都共享一个内存,它们的首地址是一样的; 三不: --不能初始化共同体,所有变量共享一块空间...

2016-04-07 09:58:55

阅读数 490

评论数 0

结构体空间的大小计算

#pragma  设置编译器的属性; pack(1) 对齐方式的属性;按照个字节1对齐; #pragma pack(1)里面的数字是1,2, 4,8,16 其他的就是默认的方式8; pack(2)如果比结构体中最大的类型还大。如#pragma pack(16)那么忽略最大类型,按默认...

2016-04-06 22:07:18

阅读数 433

评论数 0

C语言中的位运算

位运算 左移、右移 >  左移右补0,右移左补0; 取反  ~ 异或  ^   ----相同为0,不同为1 位与  &  ---------同1为1,同0为0,不同为0,(用于取位操作) 位或  ||   -------------同0,为0,,有1则1(置某位为1) ...

2016-04-06 21:48:48

阅读数 422

评论数 0

常量指针与指针常量

在刚开始学习的时候总是容易把常量指针和指针常量弄混,幸好就是里面的那个变那个不能变能分清,也许是用来几次的缘故,可是名字记不住,这次写下来,希望以后不会再网! 其实关键就是要弄清const在*的左边还是右边,左边值不能变,常量指针; 在右边指针常量,地址不能改变; 两边都有就是常量指针常量,...

2016-04-06 21:25:39

阅读数 263

评论数 0

c语言中有符号和无符号数据类型的区别

最大是0---65535,8位2进制数,有符号也是8位2进制,只不过第一位用来表示符号了,所以有符号的范围是-32768---32767.

2014-10-03 20:02:22

阅读数 8624

评论数 0

Linux下几个经典面试的笔试题

1.列出当前目录的子目录清单 2.将文件系统下的东西安全的移到另一文件系统下 3.将某文件的每行的第三到第七个字符取出来排序 4.汇总文件的某一列,并求平均值。 5.简述进程间通信方式:信号灯、共享内存及消息队列

2014-09-19 20:49:53

阅读数 571

评论数 0

数据结构-【链表】单向链表的逆置和双向循环链表

单向链表的逆置 1、为什么不能用auto变量的地址去初始化static型指针? 因为Static是在编译时进行初始化的,而Auto是在运行时初始化的,在编译时,Auto变量还不存在呢,当然也就没有地址,初始化就不能成功了. #include <iostream> using names...

2014-09-10 20:26:47

阅读数 1999

评论数 0

c语言将字符串写入文件

代码如下: FILE *fp;         char ch;         if((fp=fopen("file.txt","a+"))==NULL)         {                 printf("Yo...

2014-09-08 11:00:05

阅读数 4146

评论数 0

判断一个字符是否是数字、还是大小写字母

int main() { printf("please input one character:\n");         input=getchar();         while(input==10)         {                 p...

2014-09-06 10:55:11

阅读数 3108

评论数 0

c语言实现动态心型代码

//c语言动态心型的实现代码,帮助熟悉指针和程序: #include #include void show( int m) { // char a[3][5]; char *a=(char *)malloc((4*m/2+m)*(4*m+m)); int i,j,k; ...

2013-10-31 13:16:40

阅读数 13298

评论数 3

c语言中引用和传值的区别

//交换两个数值的c语言代码: //关键是注意程序的效率问题,还有引用和传值的区别:  #include void swap(int *a,int *b); //void swap(int &a, int &b);第二种方法; int main() { int n...

2013-10-31 13:13:04

阅读数 758

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭