c语言杂记2

摘要: 本篇主要内容如下:1.指针2.内存对齐3.sizeof注意:以下都是基于32位系统。编译器为MinGw,GCC编译器的win版。1.指针(1)首先要知道,指针里面的值是一个地址,根据这个地址就能找到想要访问的值。例如:int a = 5;char *p = &a。p就是指向a,存的是a的地址。简单来说就是地址。当然你也可以直接给p赋值,此时右值就是一个地址。要确保该地址是个能够访问的,否则程序会出现错误崩溃。(2)任何指针占用的字节数都是机器字长,在32位下就是4。即sizeof (p) = 4;(3)关于指针的运算,p + 1, p++, p--, p - 1类似于这样的。p + 1 阅读全文
posted @ 2013-03-11 20:20 lsl199096 阅读(160) 评论(0) 推荐(0) 编辑

c语言杂记1

摘要: 首先推荐的c语言的题:http://stevenkobes.com/ctest.html只是简单的谈到了C语言的一些问题, 深入后后续更新。个人理解,可能理解不到位有偏差。如有错误,请指出。该篇内容主要包括:1.setjmp, longjmp 实现非本地跳转;2.volatile关键字;3.关于编译器优化;4.左值lvalue和右值rvalue;5.const char *p和char *const p;6.-1 > 1?;7.对于常量的修改会引发错误;8.数据溢出和截断1.setjmp, longjmp 实现非本地跳转。与goto不同,goto实现局部跳转。jmp_buf变量来存放当前 阅读全文
posted @ 2013-03-11 20:19 lsl199096 阅读(203) 评论(0) 推荐(0) 编辑