
c语言
Gamal_xin
这个作者很懒,什么都没留下…
展开
-
C语言堆栈入门——堆和栈的区别
原文:http://student.youkuaiyun.com/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是转载 2014-06-20 15:11:56 · 445 阅读 · 0 评论 -
do{...}while(0)的意义和用法
linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助定义复杂的宏,避免引转载 2014-06-22 21:46:55 · 417 阅读 · 0 评论 -
(*(volatile unsigned int *))详解
在看 vivi 代码时,Nand_read.c 文件中有下面一段 #define __REGb(x) (*(volatile unsigned char *)(x)) #define __REGi(x) (*(volatile unsigned int *)(x)) #define NF_BASE 0x4e000000 #define NFCONF __REGi(原创 2013-10-30 19:18:23 · 760 阅读 · 0 评论 -
指针本质上是一串数字
前言: 1,、指针本质上就是地址值,也就是一串数字 2、int * a =b ; int * a = &b ; 区别: int *a=b:把b的值赋值给指针a(*a), int*a=&b:让指针a(*a)指向b的地址。(也就是把b的地址值赋给a)结论: 理解:原创 2014-02-14 13:36:33 · 822 阅读 · 0 评论 -
C语言中联合体union的使用
本文编辑整理自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471一、前言“联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最转载 2014-08-27 10:27:30 · 433 阅读 · 0 评论 -
判断CPU的大小端
下面的两个程序均可判断CPU的大小端问题int i=1; char *p=(char *)&i; if(*p==1) printf("Little_endian"); //Little_endian else printf("Big_endian"); //Big_endian转载 2014-08-27 10:29:56 · 639 阅读 · 0 评论