开篇---c 复习小结

原创 2007年09月16日 16:19:00
刚看了程序设计语言排名,java第一,c第二,噢噢,偶最常用的两个语言,舒服
最近要找工作,所以打算系统的复习一下c语言,看了几个晚上,做一下笔记。
1.函数声明:为了跟古老的c声明兼容,如果声明函数时没有加参数那么编译器会关闭参数检查,如果参数为空,请加void ,另外编译器在第一次看到一个函数调用时会为这个函数生成一个默认的声明。
2.函数的返回值:c语言的任何一个函数都可以不写return,gcc下连警告都不会生成,"it is possible to return from a function by falling through the last }, unless the function returns void an unknown value will be returned, resulting in undefined behaviour."
3.类型转换:这玩意还真是不好记,我也懒得去去记,就按照短字节---》长字节, 范围小--》范围大来转。例如int和float肯定是int被变成float, unsigned 到signed。 刚才看了一个题,说是如何判断一个数是无符号还是有符号,我的答案是把这个数与-1相加,根据结果就可以判断着了
4.sizeof:记住,sizeof是编译时求的值
5.常量字符串,readonly,这年头这个考的还真是不少
6.程序块:c用一对{}来定义程序块,一个程序块的开头处可以定义变量,程序块里的变量会覆盖块外的同名变量
7.regesiter变量不能取地址
8.指针数组与数组指针:前者是一个数组里放的是指针,后者是一个数组里放的是变量,前几天还犯了个错误:一个数组,里面放的是子类的对象,然后用父类的指针去操作这个数组,还++,惨...
9.结构和对齐, 空结构的的大小==0,对齐win和unix不一样
10.typedef,extern,static以及define,前三者差不多,是编译时的定义,define是预编译的
11.可变参数与函数调用的规则,stdcall,cdelcall...
12.字符串的类型为数组,存储类为static,所以sizeof(“123456”) = 7!
13.宏定义里的#,##:#用于表达“name”,##用于连接名字,例如define M1(k) #k  ,
  则M1("12345")   = "/"12345/""  M1(12345) = "12345"
 #define M2(k) k##M  则M2(1) = 1M
14. 数组T a[len],a  is a pointer  to T, but &a is a pointer to an array of T. so a + 1 = addr(a) + sizeof(T), &a + 1 = addr(a) + sizeof(T)*len

待续...
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS开发开篇之Objective-C语法基础

作者从在吸收众多网友经验基础上,结合自己在IOS开发的经验将对IOS开发技术进行总结,以供后来者学习,更希望借此使自己对IOS开发的深入理解。       一、Objective-C与C的渊源  ...

java访问c/c++---开篇

java访问c/c++ 1.创建native方法 public native static String getStringFromC(int i); //非静态的方法 使用对象调...

Object C学习开篇:在Win XP下搭建调试环境

听说Object c这个东西已经很久了,刚开始的时候只是一看而过,没有想C前面为什么要加个Object?学过C的人都知道,C是面向过程的,难道加了一个Object之后,古老而强悍C可以面向对象了?恩,...

从Masonry 源码探 Objective-C [源码学习开篇]

前言: 在继续叨叨, Masonry 是一个关于iOS开发的布局框架, Masonry是对NSLayoutConstraint 的封装, 你知道的NSLayoutConstraint这个家伙使用起来很...

《高质量程序设计指南——C/C++语言》之开篇记

《高质量程序设计指南——C/C++语言》是林锐博士和韩永泉先生撰写的著作,记得刚毕业那会读过了。应该说,这本书是对学校教科书的一个很好补充和提高。关于C/C++的经典书籍,国外已经有很多很好的教材了。...
  • e5Max
  • e5Max
  • 2012-12-12 10:23
  • 750

IOS开发开篇之Objective-C语法基础

首先声明:本系列技术博客只作学习之用,不存在其它目的。     作者从在吸收众多网友经验基础上,结合自己在IOS开发的经验将对IOS开发技术进行总结,以供后来者学习,更希望借此使自己对IOS开发的深入...

C指针小结2

C指针小结2      在上一篇对指针的小结中只是片面的说明了指针的概况,与基本含义,其实说到指针必然要提及数组,数组与指针有着密不可分的联系。但是切记数组和指针根本是两个东西,指针不能和数组画等号...

C64X DSP EDMA小结及实例详解

1)EDMA概要          ①EDMA数据传输有两种发起方式:        ü  CPU发起的EMDA数据传输(非同步方式):需要传输时,CPU设置ESR...

【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;

李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/478.html     大家都...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)