C语言
guobaoteacher
这个作者很懒,什么都没留下…
展开
-
变参宏的实现
typedef char * va_list;#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )#define va_start(ap, v) ( ap = (va_list)&v + _INTSIZEOF(v) )#define va_arg(ap, t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )#define va_en.原创 2021-08-01 23:20:43 · 82 阅读 · 0 评论 -
变参函数的原理与使用
在VC6.0中va_xxx是以宏定义的形式存在的:typedef char * va_list;#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )#define va_start(ap, v) ( ap = (va_list)&v + _INTSIZEOF(v) )...原创 2019-07-30 23:35:48 · 415 阅读 · 0 评论 -
链表的游标实现
/** * author: bbird_gl * date: 2019/7/17 * description: 链表的游标实现头文件 */#ifndef _CURSOR_H_#define _CURSOR_H_#define SPACESIZE 100typedef int ElementType;typedef int PtrToNode;t...原创 2019-07-18 00:32:08 · 181 阅读 · 0 评论 -
GCC编译器的字节对齐
#include <stdio.h>/*由于在X86(32位机器)平台下,GCC编译器默认按4字节对齐,如: 结构体4字节对齐,即结构体成员变量所在的内存地址是4的整数倍可以通过使用gcc中的__attribute__选项来设置指定的对齐大小。1):__attribute__ ((packed)),让所作用的结构体取消在编译过程中的优化对齐,按照实际占用字节数进行对...原创 2019-07-29 23:32:48 · 4590 阅读 · 0 评论 -
基数排序(静态链表法)
/** * author: bbird_gl * date: 2019/7/16 * description: 基排序(静态链表法实现) */typedef struct { int key; //节点的关键码值 int next; //下一个节点在数组中的下标}Node;//静态队列typedef struct { i...原创 2019-07-16 23:08:01 · 936 阅读 · 0 评论 -
C语言实现顺序存储结构的循环链表
c语言实现顺序存储结构下的循环链表原创 2016-12-25 17:52:33 · 438 阅读 · 0 评论 -
typedef定义函数问题
#include int inc(int a){ return (++a);} int multi(int *a, int *b, int *c){ return (*c = *a * *b);}//把FUNC1和FUNC2定义成函数,不是函数指针typedef int FUNC1(int);typedef int FUNC2(int*,int*,int*);vo原创 2015-12-11 19:35:02 · 481 阅读 · 0 评论 -
typedef定义函数类型
本文转载于:http://www.2cto.com/kf/201206/136745.html在我常规理解里,一般定义一个函数类型都是这样定义的:[cpp] view plaincopytypedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_转载 2015-12-11 19:15:26 · 955 阅读 · 0 评论 -
C语言中的static 详细分析
转自: http://blog.csdn.net/keyeagle/article/details/6708077google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。 C语言代转载 2015-12-11 16:41:09 · 280 阅读 · 0 评论 -
已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。使用非递归方法以及递归方法。
原文地址:和head2 各自有序,请把它们合并成一个链表依然有序。使用非递归方法以及递归方法。" style="text-decoration:none; color:rgb(39,158,176)">已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。使用非递归方法以及递归方法。作者:PringJobSeeking阿里巴巴问到了这道题目,两种方法都要说出来的。转载 2015-10-26 15:35:09 · 2385 阅读 · 0 评论 -
我想转行
本人是一名机械电子专业的小硕,由于本科的年少无知,很是排斥互联网方面的东西,上了研究生之后才慢慢开始觉悟,觉得搞纯机械太没意思,像是一潭死水,一点活力也没有,所以萌生了搞计算机电子的想法,觉悟是有点慢哈!刚入学的时候,自学了C语言,《C Primer Plus》看了两遍,研一下学期的时候用MFC完成了导师一个界面设计的项目,当代码编译成功的时候,那种喜悦感和成就感是无法用言语表达的。现在研三了,前原创 2015-10-24 17:10:23 · 594 阅读 · 3 评论 -
一行打印一个单词核心代码
/*state代表是否在单词中的状态*/while((c = getchar()) != EOF){ if(c == ' ' || c == '\n' || c == '\t') { if(state == IN) //finish the word putchar('\n'); state = OUT; } else if(state ==原创 2015-11-04 20:17:36 · 373 阅读 · 0 评论 -
学习c编程练习1
/*********************************************************************************************************************功能:把一行较长的输入行“折”成较短的行,并且删除短行末尾的空格例如:短行的长度设置为3 输入为:aaa a b d cde 输出为:原创 2015-09-15 10:47:39 · 325 阅读 · 0 评论 -
C语言结构体中字符数组的问题
第一个程序:#include #include typedef struct student{ char name[10]; int scores;}Stu_st,* Stu_pst;int main(void){ struct student stu1={"David",100}; strcpy(stu1.name,"Jim")原创 2015-09-06 11:25:53 · 3619 阅读 · 1 评论