C语言
文章平均质量分 72
cbsheng
这个作者很懒,什么都没留下…
展开
-
auto,register,Static
auto:最宽宏大量的关键字。因为在缺省的情况下,编译器默认所有变量都是auto的。而它与C语言中提供的四种存储说明符(auto,register,extern,static)中的register对应存储类别说明符的两种存储期(自动存储期和静态存储期)的自动存储期。那么剩下的extern,static就是用来说明静态存储期的变量和函数。函数中的局部变量,如果不用关键字static加以声原创 2012-05-28 20:48:13 · 2527 阅读 · 0 评论 -
如何加密/混乱C源代码
文章出处本文章转自酷壳,是一篇讲解如何将一段C代码加密/混乱说在前面:这样写的目的纯为娱乐,如果你考虑在工作或学习中这样做的话,劝你三思!关于将C代码混乱,在国际上也有一个出名的比赛---国际C语言混乱代码大赛(维基百科)国际C语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际编程赛事,从1984年转载 2012-11-26 14:02:23 · 1435 阅读 · 0 评论 -
Vijos_P1001_谁拿了最多奖学金_解题报告_C
先贴出题目出处此题属于简单题。能确保判断条件没错的话,基本上就能AC了。-------------------------------------------------------------------------------------题目-------------------------------------------------------------------------原创 2012-11-13 09:36:49 · 2629 阅读 · 0 评论 -
C语言之缓冲区残留字符
很多C语言初学者在尝试自己写一个比较简单的程序时,都会遇到一个摸不着头脑的问题。那就是 缓冲区残留字符 问题。我们先来看一个简单的例子:#includevoid main(){ char a, b; a = getchar(); b = getchar(); printf("%c %c\n", a, b); }这个例子的意图十分简单:就是定义两个字符变量并接受其分别从原创 2012-10-28 12:53:29 · 2747 阅读 · 0 评论 -
略谈-大端模式与小端模式
大端模式 和 小端模式 指的是在计算机中,数据的存储模式。大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式:字数据的高字节存储在高地址中,而字数据的低地址则存放在低地址中。字数据是从左至右,由高到低的。常用的X86结构是小端模式我们也可以根据 联合体(union) 的特性(对union型成员的存取都从相对于该联合体基地址的偏移量为0原创 2012-06-10 11:15:58 · 1743 阅读 · 0 评论 -
C符号之逻辑运算符、左移与右移、自增自减
本篇文章将总结C中一些比较有趣的符号逻辑运算符:“ || ” 与 “ && ” 是比较常用的逻辑运算符,分别是 或 和 与。或(||):双目运算符。两者中任一为真即为真。与( &&):双目运算符。两者都为真时才为真,任一为假即为假。但是,这两个运算符都有一个有趣的地方。请看下面的例子:int a=0, b=1;if( b++ || ++a ){ pr原创 2012-06-11 14:36:19 · 4825 阅读 · 0 评论 -
利用栈将中缀表达式转换成后缀表达式
文章出处-----------------------------------------------------------------------------原文-----------------------------------------------------------------------------目的:将中缀表达式(即标准形式的表达式)转换为后缀式。例子:a +转载 2012-12-09 11:25:34 · 2605 阅读 · 0 评论 -
用栈解决四则运算问题
本文章的解决方法参考了《大话数据结构》中关于栈的应用介绍值得注意的是,书中关于中缀表达式转后缀的讲解中不尽清楚。本人也在这里花了点时间进行推敲错误的原因,也在网上搜到了这篇文章,比较好地介绍了中缀转后缀的的规则原理:用计算机求解四则运算,可以使用栈。因为栈的“先进后出”的特性正好满足了能通过后缀表达式去计算出四则运算式子的结果。而后缀表达式的转化也能使用栈对中缀表达式进行操作从而转化。原创 2012-12-10 00:10:08 · 18375 阅读 · 17 评论 -
C语言的fgets() 与 gets()
今天在翻《C语言参考手册》查看文件操作的相关函数时,看到fgets() 与 gets()的一些“微妙”的地方另外《C语言参考手册》是C程序员身边的一本非常好的“词典”,刚开始学习C的时候,或许用不上这书(只因为初学者对里面的内容看得不是很明白)但是觉得自己学到有一定程度的时候,这本书绝对是一本十分好的工具书!题外话就到此为止,入正题:这篇文章主要简单地说说 fgets() 和 gets原创 2012-12-17 21:29:00 · 9227 阅读 · 0 评论 -
浅析指向指针的指针其作用
这篇文章主要是介绍 指向指针的指针 的一种用法所以这里不谈指针或指向指针的指针他们的基础直接上代码(用途:使用一个函数动态申请内存,并赋值。跳出调用函数后输出赋值内容)#include #include typedef struct Data{ int da;} Data;void fun(Data *p);int main(){ Data原创 2013-01-22 15:41:26 · 1804 阅读 · 1 评论 -
高质量C/C++编程指南--文件结构
此系列文章实为对《高质量程序设计指南--C++/C语言》的重点摘要总结本篇总结的为文件结构: 每个C/C++程序通常都会有两类文件,一为头文件 (.h), 另一类为源文件 (.c) / (.cpp)版权和版本的声明:无论是在头文件或者源文件,添加上版权和版本的声明都是作为程序员应当了解的规范。版权和版本的声明通常位于文件内的开头,主要的内容有:版权信息原创 2012-11-08 14:24:43 · 1012 阅读 · 0 评论 -
高质量C/C++编程指南--表达式和基本语句
此系列文章实为对《高质量程序设计指南--C++/C语言》的重点摘要总结本篇总结的为表达式和基本语句:运算符的优先级:优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]原创 2012-11-10 09:05:31 · 1361 阅读 · 2 评论 -
万恶的指针
struct people{ char *name; int age;}peo, *p;void main(){ strcpy(peo.name, "people"); //语句 1 p = (people *)malloc(sizeof(people)); strcpy(p->name, "peop原创 2012-06-10 19:30:33 · 741 阅读 · 2 评论 -
新手谈C数组_&a、&a[0]、a
int a[]={1,2,3};int *p;p = (int *)(&a+1); // = 两边的数据类型需一致printf("%d\n", *(a + 1) ); //输出语句 1printf("%d\n", *(p - 1) ); //输出语句 2问题:输出语句 1、2分别输出什么?原创 2012-06-10 09:42:39 · 1020 阅读 · 0 评论 -
新手谈C指针02__int *p=NULL、*p=NULL、*(int *)0x0018ff44.
int *p = NULL;此语句什么意思?没错,就是定义了一个整型指针变量P,并进行了初始化。那么,现在有个问题。它初始化了什么东西?NULL?NULL又是什么?(这里需要注意)NULL是被宏定义成 0 。即为 define NULL 0 很多系统下除了NULL之外,还有NUL(VC++6.0上提示说不认识NUL。error C2065: 'NUL' : undecl原创 2012-06-05 23:08:13 · 2569 阅读 · 1 评论 -
什么是声明?什么是定义?
这是一个基础且重要的知识。什么是声明,什么是定义。让我们先来看看下面的两个例子int a;extern int a;这两个里面,哪个是声明? 哪个是定义?要解决这个问题,当然我们需要先知道什么是声明,什么是定义。声明:1) 告诉编译器,这个变量名或对象已经匹配到一块内存空间上了。下面的代码用到变量或对象是在别的原创 2012-06-05 19:15:54 · 4421 阅读 · 0 评论 -
新手谈C指针01_指针?
”指针是C精华,如果不能够很好地掌握指针,那么C也基本等于没学。" 作为一个C语言初学者。在这为自己学习C之路进行一些简单的总结。指针?int *p;对于上面的语句,相信很多人都知道是什么意思。没错。就是定义了一个(整型)指针变量。(什么是定义?)其实 int * 就像其他的数据类型定义关键字一样。你可以将它和int、char这些关键字的原创 2012-06-05 19:49:42 · 695 阅读 · 0 评论 -
C符号之注释
代码中有良好的注释,无疑能大大提高代码的可读性,无论对于自己还是阅读者。当你完成一个比较大的项目时候,如果你没在在你的代码中适当的地方做很好的注释,估计没有人会愿意看你的代码,过一段时间后,估计连你自己也不想看,恨不得马上加上注释。因为很明显,最简单的一个变量 a。你不注释的话,谁会知道这变量代表什么意思。对吧?:)既然注释这么的重要,那我们就需要了解注释的一些规则、特殊情况和风格。原创 2012-06-11 11:13:46 · 1446 阅读 · 0 评论 -
高质量C/C++编程指南--程序版式
此系列文章实为对《高质量程序设计指南--C++/C语言》的重点摘要总结本篇总结的为程序版式: 良好的代码版式有助于阅读代码和进行维护。可以设想,没有良好的排版的文章,估计读者看不到一半就没耐心继续往下读了。代码更是如此,没有好的编程风格,写出来的代码只会苦涩,让人难以阅读和理解。所以学习良好的编程风格是百利而无一害的!利用好空格与换行(这两者能使我们代码的意思更加的清晰)原创 2012-11-09 10:56:45 · 1259 阅读 · 1 评论 -
高质量C/C++编程指南--常量
此系列文章实为对《高质量程序设计指南--C++/C语言》的重点摘要总结本篇总结的为常量为什么需要常量?这个问题可以换成为什么不直接使用数字或字符串:会使程序的可读性变差。就算程序员自己都可能会忘记了那些数字或字符串是什么意思,更别说阅读者了(哪怕有注释)在程序中多处引用同样的数字或字符,难免出现错误如果需要修改,而同一数字或字符又在很多的地方被使用。这样会使工作量增原创 2012-11-10 22:38:21 · 1328 阅读 · 0 评论