
c语言
shuixin536
这个作者很懒,什么都没留下…
展开
-
const int *a, int const *a,int * const a,区别,指针数组,数组指针,声明与定义
const int *a, int const *a,int * const a,区别,指针数组,数组指针,声明与定义2008-07-25 11:04几个容易混淆的概念,记在这里一、=====C语言声明的方法,对理解下面的两个都有帮助===========================(http://bbs.chinaunix.net/viewthread.php?tid=6转载 2012-11-25 21:11:20 · 442 阅读 · 0 评论 -
权重
当一组数据中的某些数重复出现几次时,那么它们的平均数的表示形式发生了一定的变化.例如,某人射击十次,其中二次射中10环,三次射中8环,四次射中7环,一次射中9环,那么他平均射中的环数为 (10*2 + 9*1 + 8*3 + 7*4 )/10 = 8.1 这里,7,8,9,10这四个数是射击者射中的几个不同环数,但它们出现的频数不同,分别为4,3,l,2,数据的频数越大,表明它转载 2012-11-25 21:23:02 · 1456 阅读 · 0 评论 -
互斥量与临界区的区别
http://blog.youkuaiyun.com/linyaoxin/article/details/3116697今天去中科院自动化所里一家公司面试,唉被鄙视了,问我互斥量与临界区的区别有什么区别,句柄的本质,平时常用,但就是回答不上,学艺不精呀.发个贴子记下来,下回不要范同样的错了. 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。转载 2012-11-25 20:55:09 · 576 阅读 · 0 评论 -
复习负数的二进制表示方法
今天偶然看到一道华为笔试题void main(){char *p;*p=-130;printf("%d",*p);}乍一看我认为输出就是-130,可是正确答案是126.汗我差的太多了,分析下是怎么回事吧,原因:-130在计算机里的二进制存储形式是11111111,负数是用补码的形式表示的,130补码为01111110,因为C里面的CHAR是8位的,正好没超过8位,0转载 2012-11-25 20:37:21 · 1126 阅读 · 0 评论 -
解析#pragma指令
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数转载 2012-11-25 15:49:20 · 434 阅读 · 0 评论 -
C/C++基础知识:函数指针和指针函数的基本概念
http://blog.youkuaiyun.com/linyaoxin/article/details/3178999在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);转载 2012-11-25 21:16:57 · 415 阅读 · 0 评论 -
实现程序互斥运行的几种方法
实现程序互斥运行的几种方法2008-09-21 10:50一、在VC下的实现Visual C++ 是WIN32编程最主要也是最强大的编程工具这一,引用一名话来说VC就是“只有你想不到的,没有VC做不到的”。废话少说,下面看看用VC是如何这个功能。A. 使用编译器来实现(使用MFC框架):在.cpp文件开头加上以下几行:#pragma data_seg("Shared转载 2012-11-25 20:56:54 · 1265 阅读 · 0 评论 -
浅谈C/C++中运算符的优先级、运算符的结合性以及操作数的求值顺序
一.运算符的优先级 在C++ Primer一书中,对于运算符的优先级是这样描述的: Precedence specifies how the operands are grouped. It says nothing about the order in which the operands are evaluated. 意识是说优先级规定操作数的结合方式转载 2012-11-25 15:56:51 · 636 阅读 · 0 评论 -
判断一个数是2的幂数的最快方法!
if(n&(n-1)) then n不是2的幂数;else n是2的幂数; 原理:如果n=2^K,那么n = 1000...0(k个0),则n-1 = 111...0(k个1);相与之后则为0如果 n!=2^k,那么 n跟(n-1)第一位都为1,则相与这后然后第一位为1,则不为0.【更正】上面当n==0也会误判成2的幂数,所以应该转载 2012-11-25 21:33:27 · 761 阅读 · 0 评论 -
[C/C++]C++下基本类型所占位数和取值范围
C++下基本类型所占位数和取值范围:符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输出符举例-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%usigned转载 2012-11-25 17:24:27 · 527 阅读 · 0 评论 -
C/C++ 内存分配方式,堆区,栈区,new/delete/malloc/free
new也分配到堆上,栈上分自动变量(就是局部变量)区别1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行,转载 2012-11-25 16:51:12 · 994 阅读 · 0 评论 -
gets和scanf函数的区别
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用__gets__函数。gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。char string[15]; gets(string); /*遇到回车认为输入结束*/scanf("%s",string)转载 2012-11-25 16:35:25 · 2736 阅读 · 1 评论 -
C/C++数组名与指针区别深层探索
C/C++数组名与指针区别深层探索 作者:宋宝华 e-mail:21cnbao_AT_21cn.com [AT -> @]1. 引言指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C 语言的教学过程中也错误得给学生讲解:“数组名就是指针”。很幸运,我的大学老师就转载 2012-11-25 21:21:24 · 415 阅读 · 0 评论 -
pragma指令简介
http://blog.sina.com.cn/s/blog_648d306d0100qm6k.htmlpragma指令简介在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作.下面介绍了一下该指令的一些常用参数,希望对大家有所帮助!一. message 参数。message它能够在编译信息输出窗转载 2012-12-11 10:07:29 · 450 阅读 · 0 评论