C语言标准

#pragma once

/* 将a.h可以看成是c++里面的a类的声明,注意在.h文件中不可定义外部变量,只能声明外部变量,意思是不能出现extern int abc = 1*/

/*类似于public*/
extern int foo1(int input);/* 外部方法*/
extern int abc;/* 外部变量,声明变量abc*/

/*类似于private*/
static int foo2(int input);/* 内部方法*/
static int abd = 20;/* 内部变量,定义变量abc, 最好赋予初值*/

/* 外部常量最好使用宏定义 */
#define MAX_NUM 2001;

/* 内部常量最好使用const定义 */
static const int abe = 20;

#include "C.h"

/* 将a.h可以看成是c++里面的a类的定义*/

int abc = 10; /* 定义外部变量 */

int foo1(int input) /* 定义外部方法 */
{
abd++;
return 1;
}

int foo2(int input) /* 定义内部方法 */
{
return 1;
}

时间: 2024-10-13 16:20:58

C语言标准的相关文章

C语言标准库函数qsort详解

1 函数简介 功 能: 使用快速排序例程进行排序 头文件:stdlib.h 用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *)); 参数: 1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针,用于确定排序的顺序 2 基本用法 使用qsort()排序并用 bsearch()搜索是一个比较常用的组合,使用方便快捷. qsort 的函数原型是

从C++Primer某习题出发,谈谈C语言标准I/O的缓存问题

刚看完信号那章,觉得处理信号时的sigsetjmp/siglongjmp似乎跟异常的跳出很像,于是想去复习C++异常,然后发现了对I/O没有充分理解的问题. 题目是C++ Primer 5.6.3节的练习5.25,描述如下: 1.从标准输入读取2个整数, 输出第1个整数除以第2个整数的结果. 2.如果第2个整数为0,抛出异常: 3.用try语句块捕捉异常,catch语句中为用户输出一条提示信息,询问是否输入新数并重新执行try语句块的内容. 于是我随手一写,就写出了这样的代码 #include

C语言标准库函数strcpy与strcmp的简单实现

1 //C语言标准库函数strcpy的一种简单实现. 2 3 //返回值:目标串的地址. 4 5 //对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL. 6 7 //参数:des为目标字符串,source为原字符串. 8 9 char* strcpy(char* des,const char* source) 10 { 11 char* r=des; 12 13 assert((des != NULL) && (source != NULL)); 14

C语言标准库函数与功能讲解

1 数学函数 数学库函数声明在 math.h 中,主要有: abs(x) 求整型数x 的绝对值 cos(x) x(弧度)的余弦 fabs(x) 求浮点数x 的绝对值 ceil(x) 求不小于x 的最小整数 floor(x) 求不大于x 的最小整数 log(x) 求x 的自然对数 log10(x) 求x 的对数(底为10) pow(x, y) 求x 的y 次方 sin(x) 求x(弧度)的正弦 sqrt(x) 求x 的平方根 2 字符处理函数 在 ctype.h 中声明,主要有: int isdi

最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】

原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructuring 箭头函数 Arrow Functions Symbols 集合 学习Babel和Broccoli,马上就用ES6 代理 Proxies ES6 说自己的宗旨是"凡是新加入的特性,势必已在其它语言中得到强有力的实用性证明."--TRUE!如果你大概浏览下 ES6 的新特性,事实上它

Go语言标准库之time

Go语言标准库之time 时间的格式化和解析 格式化 Format Go语言和其他语言的时间格式化的方式不同,Go语言格式化的方式更直观,其他的语言一般是yyyy-mm-dd package main import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println(now.Format("2006-01-02 15:04:05")) fmt.Println(now.Forma

C语言标准源文件模板

/**************************************************************** @版权 : 个人开发,禁止用于商业用途 @文件名 : Task.c@说明 : 任务调度 @日期 : 20170723 @作者 : 杨康佳 ****************************************************************/ //-----------------------------------------------

李洪强iOS开发之C语言标准简介

C语言是介于低级语言和高级语言之间的 一个应用程序 C语言在嵌入式上使用,的确是具有低级语言的特征 直接操作硬件,扫描内存 访问到的都是虚拟内存,一个应用程序占多大内存? 表示最多 可以放多少条指令 普遍使用的是32位和64位的计算机,2的32次方是4G 64位计算机内存特别大,是无限大的 计算机的内存是有限的,内存管理: 程序最小化了,再打开的时候比较卡,用的不多,就存起来的,把内存给别人用 有一个交换的过程,就是虚拟内存的意义 英特尔CPU 程序不能访问某些内存,嵌入式系统访问的内存是真正的

读书笔记:c语言标准库 - 变长参数

· 变长参数(stdarg.h) 变长参数是c语言的特殊参数形式,例如如下函数声明: int printf(const char * format,...); 如此的声明表明,printf函数除了第一个参数类型为const char*之外,其后可以追加任意数量.任意类型的参数. 在函数实现部分,可以使用stdarg.h里的多个宏来访问各个额外的参数:假设lastarg是变长参数函数的最后一个具名参数(printf里的format),那么在函数内容定义类型为va_list的变量: va_list

C语言标准库

共15个,请查看,在linux下的目录位/usr/share/include assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h