C/C++
文章平均质量分 76
她的睫毛613
这个作者很懒,什么都没留下…
展开
-
Linux应用开发学习01——Gcc编译器
1 gcc编译器简介 GCC是GNU项目的编译器组件之一,也是GNU最具有代表性的作品。在GCC设计之初仅仅作为一个C语言的编译器,可是经过十多年的发展,GCC已经不仅仅能支持C语言;它现在还支持Ada语言、C++语言、Java语言、Objective C语言,Pascal语言、COBOL语言,以及支持函数式编程和逻辑编程的Mercury语言,等等。而GCC也不再单是GNU C Co原创 2014-06-06 20:33:56 · 579 阅读 · 0 评论 -
数组名问题
问题:struct a{ char pp[20]; char cc[20]; int bb;} stest;char temp[20];temp数组名代表常量指针,stest代表什么?记忆中好像也是代表常量指针,指向pp[0]的地址///////////////////////////////////////////////////////////////原创 2014-06-06 20:30:47 · 308 阅读 · 0 评论 -
利用异或逻辑交换两个数
原理: a^a = 0 a^0=a 开始: *x *y 第一步: *x^*y *y 第二步: *x^*y (*x^*y)^*y = *x 第三步: (*x^*y) ^ *x = *y *x#include void change(int *x, int *y){ *x = *x ^ *y; *y = *x ^ *y; *x原创 2014-06-06 20:32:03 · 324 阅读 · 0 评论 -
从一个小程序说起-数组指针
#include stdio.h>#include stdlib.h>int main(){ int a[3] = {7,8,9}; printf("一维数组测试:\n"); printf("a = %p\n", a); /*这里打印数组a的首地址,相当于&a[0]*/ printf("*a = %p\n", *a); /*这里打印a[0]的内容*/ printf(原创 2014-06-06 20:31:14 · 290 阅读 · 0 评论 -
原码,反码和补码
计算机中存储的数字都是用补码形式表示的。这句话非常重要。那么什么是补码呢?首先要知道原码和反码的概念。大家都知道,对于一个有符号的数来说,它的最高位就是符号位。数X的原码:用其符号位的0或1表示X的正或负,而其数值部分就是绝对值的二进制表示。例如X=+105,则[X]原 = 0 1 1 0 1 0 0 1正数的反码是其本身,负数的反码是原码除符号位外的其他位各位取反。例如X=-105,则[X]原创 2014-06-06 20:31:25 · 402 阅读 · 0 评论 -
MD5算法C语言版
请大家 给予 支持一下:我的商城:可以打折的: 羊城网上商城: www.yangcheng520.com 点击(此处)折叠或打开 #if 1 //获取MD5码 #define F(x原创 2014-06-06 20:33:45 · 437 阅读 · 0 评论 -
strncpy与memcpy
首先来看一个程序: #include stdio.h>#include stdlib.h>#include string.h>int main(int argc, char **argv){ char a[30] = "1234567890"; char b[30] = "abcdef\0ghijklmn"; int i;原创 2014-06-06 20:30:52 · 1043 阅读 · 0 评论 -
读《C缺陷与陷阱》之-函数声明理解
在书中第2章第一节中,作者首先提到的这样一个函数让我很是困惑:(*(void(*)())0)();这个函数的功能是这样的:当计算机启动时,硬件将调用首地址为0位置的子程序。为什么会有这样的功能呢?这里要从声明函数说起,例如:float ff();这个很好理解:ff是一个返回值为浮点型的函数。再看:float *g(), (*h)();由于()结合的优先级高于*,*g()也就是*(g())。g是一个原创 2014-06-06 20:32:29 · 309 阅读 · 0 评论