![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ANSI C
文章平均质量分 73
huaye502
这个作者很懒,什么都没留下…
展开
-
fread、fwrite、snprintf、sprintf、memset
#include 1.函数功能 用来读写一个数据块。 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 3.说明 (1)buffer:是一个原创 2011-03-30 21:15:00 · 1238 阅读 · 0 评论 -
一年没写几句像样的代码了,拿个简单例子练练手
整数取反,题目很简单,完成函数reverse,要求实现把给定的一个整数取其相反数的功能,举两个例子如下: x = 123, return 321 x = -123, return -321 由于长时间写shell,以致好几个变量不声明就使用了,真是害人不浅。#include const int base = 10;int reverse(int n){ int原创 2013-06-15 00:15:30 · 868 阅读 · 0 评论 -
C专家编程
说到C语言,首称《C程序设计语言》,这是一本入门和进修均可的书籍,值得读三遍以上,方才有味。进修书籍如《C专家编程》是一本C语言较高层次的书,是成为C语言专家的必经之路。我自以为达到了一定的程度,才开始学习这本书的。人言,C语言是一门艺术,需要多年历练才能达到较为完善的境界,此言不虚。 C语言进修书籍还有《C陷阱和缺陷》《C指针》等。 本书的示例程序,使原创 2012-03-08 12:54:36 · 949 阅读 · 0 评论 -
C专家编程——令人震惊的事实:数组和指针并不相同
声明:可以多次出现,描述对象的类型,用来指代其他地方定义的对象。例如extern int arr[];定义:只能出现在一个地方,确定对象的类型并分配内存,用于创建新的对象。例如int arr[100];C语言和C++语言对左值和右值的解释:C专家P83,C++ primerP39。例如赋值:X=Y,X是左值,Y是有值左值(内存地址)和右值(内存所存内容)。可修改的左值,表示原创 2012-03-14 16:50:53 · 1017 阅读 · 1 评论 -
C专家编程——分析C语言的声明
C语言声明的语法有时会带来严重的问题——Dennis 声明的形式和使用的形式相似,这是C语言声明的一种缺陷。例如声明指针数组int *p[3];使用数组第四个元素*p[3] 在此,C语言的声明无法以自然方式(从左到右)阅读,在ANSI C引入volatile和const关键字之后情况更糟了。 指针是只读的:const int *p;int const p;原创 2012-03-14 15:36:58 · 1072 阅读 · 0 评论 -
C专家编程——这不是Bug,而是语言特性
Bug是迄今为止地球上最庞大最成功的试题类型,有近百万种已知的品种,在这个方面,他比其他任何已知的生物种类的综合还要多,而且至少要多出4倍。在C语言中,若遇到了malloc(strlen(str)),几乎可以断定它是错误的,而malloc(strlen(str)+1)才是正确的。编程语言缺陷归为三类:不该做的做了,该做的没做,该做的做的不合适。简称为“多做之过”,“少做之过”,“误做之过”原创 2012-03-13 16:17:48 · 1303 阅读 · 0 评论 -
C专家编程——穿越时空的迷雾
Dennis Ritchie说,C诡异离奇,缺陷重重,却获得了巨大成功。关于历史1969,通用电气,MIT,贝尔实验室——Multics工程(目的创建一个操作系统)失败了。他们试图建立一个非常巨大的操作系统能够应用与规模很小的硬件系统中。Multics成了总结工程教训的宝库,同时为C语言体现“小即是美”铺平了道路Ken Tompson,为PDP-7编写了一个建议的新型操作系原创 2012-03-11 10:21:36 · 831 阅读 · 0 评论 -
C专家编程——前言
前言之编程挑战——计算机时间,研究time_t什么时候重新回到开始?date1.c#include #include int main(){ time_t biggest = 0x7fffffff; printf("sizeof(time_t)=%d, biggest = %s \n", sizeof(time_t), ctime(&biggest)); r原创 2012-03-08 12:48:57 · 788 阅读 · 0 评论 -
C&&C++误区
以前不知道的东东,记下来。改变const的值/*改变const变量的值*/void change_const(){ const int a = -1; int *b = &a; *b = 2222; printf("%d/n",a);}//结果:2222原创 2011-09-14 02:02:27 · 693 阅读 · 0 评论 -
搜狗网申在线测试题——编码和解码的C程序的解决
首先说明本题目的原意:以下程序是GBK编码和解码程序,根据编码过程encode(),将解码过程decode()补充完整。写出输出结果,输出结果是一句话。下面代码是原题(程序风格都没变),说实在的,这程序员代码风格实在是,一个字乱!#include #includ原创 2011-09-11 10:05:30 · 2524 阅读 · 10 评论 -
C语言的内存对齐问题
许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。 Win32平台下的微软C编译器的对齐策略:原创 2011-04-19 15:04:00 · 1829 阅读 · 0 评论 -
再做个简单练习题,惭愧。
情况较复杂,但不能算难;是否隐藏着bug不确定。输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345。 请完成函数StrToInt,实现字符串转换成整数的功能。 友情提醒: 提交代码之前,请复查下你的程序,比如当给的字符串是如左边图片所示的时候,有考虑到么? 当然,它们各自对应的正确输出如右边图片所示(假定你是在32位系统下,编译环境是VS2原创 2013-06-15 04:11:44 · 670 阅读 · 0 评论