c学习
文章平均质量分 75
johnny-huang
专注移动开发,专注自己的兴趣爱好!!!
展开
-
c中的位操作
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1转载 2013-07-04 17:30:04 · 637 阅读 · 0 评论 -
数据结构树的相关概念
树是一种非线性的层次聚集,由n(n>=0)个节点组成。n=0时成为空树,n>0时:有一个特定的称之为根(root)的节点,根节点只有直接后继,没有直接前驱; 除根以外的其他节点可以划分为m个互不相交的集合,每个集合又是一棵树,他们称之为根的子树。每个子树的根节点仅有一个直接前驱,但是可以有一个或多个直接后继。 树的相关概念:节点(node):节点包括数据项及指向其他节点原创 2014-02-17 22:08:05 · 770 阅读 · 0 评论 -
c 中sizeof 总结
sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎转载 2014-02-17 10:41:33 · 509 阅读 · 0 评论 -
inline函数为什么最好要添加static
测试:测试文件:show.h, main.c, printf.c测试文件说明:1)show.h:定义了void foo(void) inline函数2)main.c:不包含show.h头文件,但声明了void show()原型3)show.c:包含show.h头文件;并且有对foo函数的调用;测试文件内容://show.h#includesta原创 2014-02-13 11:35:57 · 2277 阅读 · 1 评论 -
各常见数据类型范围
char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 Bytes)int -2147483648 ~ +2147483647 (4 Bytes)unsigned int 0 ~ 4294967295 (4 Bytes)long == intlong lon原创 2013-03-25 21:08:21 · 845 阅读 · 0 评论 -
C语言结构体对齐问题详解
原文:http://blog.csdn.net/tiany524/article/details/6295551测试环境32位机 WinXP:编译器VC6(MS cl.exe ) 和 mingw32-gcc-4.5.2 1 结构体数据对齐(没有#pragma pack()宏定义)结构体对齐可以总结为三个基本原则①数据成员对齐规则: 结构体的数据成员中,第一个成员转载 2014-02-11 13:48:01 · 809 阅读 · 0 评论 -
Linux系统32位与64位数据类型长度比较
Linux系统32位与64位GCC编译器基本数据类型长度对照表GCC 32位sizeof(char)=1sizeof(double)=8sizeof(float)=4sizeof(int)=4sizeof(short)=2sizeof(long)=4sizeof(long long)=8sizeof(long double)=12sizeof(compl转载 2014-02-11 11:46:33 · 754 阅读 · 0 评论 -
语言 内存中结构体字节对齐
原文来自:http://blog.csdn.net/haiwil/article/details/7070593一、字节对齐作用和原因:对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐,其他平台可能没有这种情况,但是转载 2014-02-10 10:23:53 · 571 阅读 · 0 评论 -
程序在内存中的分布
在现代的操作系统中,当我们说到内存,往往需要分两部分来讲:物理内存和虚拟内存。从硬件上讲,虚拟空间是CPU内部的寻址空间,位于MMU之前,物理空间是总线上的寻址空间,是经过MMU转换之后的空间。一般我们所说的程序在内存中的分布指的就是程序在虚拟内存中的存储方式。从低地址到高地址,可分为下面几段: 预留内存地址(操作系统维护的内存地址,不可访问) 程序代码区(只读,存代码和一转载 2014-01-14 16:16:48 · 461 阅读 · 0 评论 -
二叉树宽度和高度
求二叉树的深度和宽度// 求二叉树的深度和宽度.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include #include using namespace std;struct BTNode{ char m_value; BTNode *m_left; BTNode *m_right;};//先序创建二叉树void CreatB转载 2013-11-11 01:22:31 · 775 阅读 · 1 评论 -
位操作基础篇之位操作全面总结
来自:http://blog.csdn.net/morewindows/article/details/7354571[-]一 位操作基础二 常用位操作小技巧判断奇偶交换两数变换符号求绝对值三 位操作与空间压缩四 位操作的趣味应用 高低位交换 二进制逆序 二进制中1的个数 缺失的数字Title: 位操作基础篇之位操作全面总转载 2013-08-11 17:27:12 · 564 阅读 · 0 评论 -
typedef用法
typedef用法为现有数据类型定义同义词 typedef 使用最多的地方是创建易于记忆的类型名,用它来归档程序员的意图。例如:typedef int size;此声明定义了一个 int 的同义字,名字为 size。注意 typedef 并不创建新的类型。它仅仅为现有类型添加一个同义字。你可以在任何需要 int 的上下文中使用 size: void measure(s转载 2013-07-14 18:25:55 · 794 阅读 · 0 评论 -
c的数字与字符串的转化
即将就业,也复习复习相关的知识,看了看嵌入式C的笔试题,整体感觉考试题目还是蛮有意思的,考点都比较重要,而且比较细,主要还是设计到一些指针和数组已经函数指针等基本的概念。比如:如何实现两个值中的最大值:((a+b) + abs(a-b))/2如何实现不依靠中间量实现两个变量值的交换:a = a + b;b = a - b;a = a - b;或者a = a^b;转载 2013-03-02 09:49:24 · 484 阅读 · 0 评论 -
c语言--求两圆交点
#include#includestruct point_t { double x, y;};struct circle_t { struct point_t center; double r;};int double_equals(double const a, double const b){ stat转载 2014-05-26 11:12:48 · 884 阅读 · 0 评论