C语言

队列实例程序(C语言)

/*queue.h*/#ifndef_QUEUE_H#define_QUEUE_Hstructqueue_record;typedefstructqueue_record*queue;intis_empty(queueq);intis_full(queueq);queuecreate_queue(intmax_elem...
代码星球·2021-02-21

栈的实现实例(C语言)

/*stack.h*/#ifndef_stack_h#define_stack_hstructstack_record;typedefstructstack_record*stack;typedefintelement_type;intis_empty(stacks);intis_full(stacks);stackc...
代码星球·2021-02-21

C语言的ANSI/ISO标准

摘自:http://see.xidian.edu.cn/cpp/html/1658.html    从技术上讲有两种C语言标准,一种来自ANSI(AmericanNationalStandardInstitute,美国国家标准协会)X3J11委员会,另一种来自ISO(InternationalStandardOrgan...
代码星球·2021-02-21

c语言中static、extern、void的重载

static:  1、在函数内部,表示该变量的值在各个调用间一直保持延续性;      2、在函数这一级,表示该函数只对本文件可见。extern:1、用于函数定义,表示全局可见(属于冗余的);     2、用于变量,表示它在其他地方定义。void: ...

C语言变量的声明位置

标准C里面必须放在代码前面,否则出错;C++里面不一定要放在最前面,用的时候声明也不迟;所以要看具体的编译环境,如果是C的话必须放在最前,C++就不用;一般.c后缀的是C文件,按C来编译;.cpp后缀的是C++文件,按C++来编译。...
代码星球·2021-02-21

理解C语言声明的优先级规则

A声明从它的名字开始读取,然后按照优先级顺序依次读取。B优先级从高到低依次是:  B.1声明中被括号括起来的那部分  B.2后缀操作符:       括号()表示这是一个函数,而  &nbs...

&与&& C语言

&是一个位运算符,就是将两个二进制的数逐位相与,就是都是1才是1,只要有一个为0则为0,结果是相与之后的结果。&&是一个逻辑运算符,就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。1/*----------------------------------...
代码星球·2021-02-18

C语言位运算符:与、或、异或、取反、左移和右移

语言位运算符:与、或、异或、取反、左移和右移位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述&...

[转]C语言文件输入/输出ACM改进版(freopen函数)

2009年5月27日10:379,457 浏览数发表评论阅读评论 文章作者:姜南(Slyar) 文章来源:SlyarHome(www.slyar.com)转载请注明,谢谢合作。昨天发了一篇《C语言使用文件输入/输出数据》,使用的是最普通的文件输入/输出方法,Felix大牛随后给了一种更简单...

链表详解(C语言)

链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用。链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节点。链表都有一个头指针,一般以head来表示,存放的是一个地址。链表中的节点分为两类,头结点和一般节点,头结点是没有数据...
代码星球·2021-02-16

C语言经典题目

回顾一下吧:一、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?解析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。常规写法:#include<stdio.h>intmain(){inti,j,k;printf("");for(i=1;i...
代码星球·2021-02-16

一步步来用C语言来写python扩展-乾颐堂

本文介绍如何用C语言来扩展python。所举的例子是,为python添加一个设置字符串到windows的剪切板(Clipboard)的功能。我在写以下代码的时候用到的环境是:windowsxp,gcc.exe4.7.2,Python3.2.3。第一步撰写C语言的DLL创建一个clip.c文件,内容如下:12345678...

堆的创建、优先队列、topk、堆排序C语言实现

 1、堆的定义堆就是用数组实现的二叉树,所有它没有使用父指针或者子指针。堆就是利用完全二叉树的结构来维护的一维数组。   创建一个堆除了一个简单的一维数组以外,不需要任何额外的空间。如果我们不允许使用指针,那么我们怎么知道哪一个节点是父节点,哪一个节点是它的子节点呢?节点在数组中...

C语言__attribute__ ((__packed__))关键字自动字节对齐

自动字节对齐不想要字节对齐的时候,有没有办法取消字节对齐?答案是可以,就是在结构体声明当中,加上__attribute__((__packed__))关键字,它可以做到让我们的结构体,按照紧凑排列的方式,占用内存。来段实际代码:#include<stdio.h>#include<iostream>...

C语言动态数组

 原文链接:c语言中动态数组的建立 作者:阿瞒123 一维动态数组的创建,这个比较简单,直接上代码#define_CRT_SECURE_NO_DEPRECATE#include<stdio.h>#include<stdlib.h>voidcreateOneDimen...
代码星球·2021-02-14