函数声明

数据结构实现(顺序表)

天涯浪子 提交于 2019-11-30 05:24:57
#include<stdio.h> //数据结构之顺序表 /*原理:地址连续的存储单元依此存储线性表的元素 基本运算:插入 删除 查找 排序 要点:结构的定义很重要,所有的操作都是建立在数据结构之上的。 */ /*顺序表结构体定义:*/ //def数据最大长度 #define Maxsize 100 //定义数据元素类型,可以适应更多类型 typedef int Datatype; //定义顺序表类型,只是定义了一个类型,而不是变量 typedef struct SeqList//此处的SeqList可以不要 { Datatype data[Maxsize]; int last; }SeqList; SeqList InitSlist() {//初始化顺序表 SeqList L;//通过函数调用来申请空间,创建变量 L.last = -1;//表示表空 return L; } void Creat_Slist(SeqList &L) {//创建顺序表,给data初步赋值 int flag;//标示数据规模 scanf("%d",&flag); for(int i=0;i<flag;i++) { scanf("%d",&L.data[i]); L.last++; } } int Getlength(SeqList &L) { return (L.last + 1); } int

Javascript学习

送分小仙女□ 提交于 2019-11-30 05:24:22
Javascript学习 JavaScript概述   ECMAScript和JavaScript的关系     1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。     该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。二是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。     因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。   ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5

ES5

隐身守侯 提交于 2019-11-30 05:03:59
什么是ES5:比普通js运行要求更加严格的模式 为什么:js语言本身有很多广受诟病的缺陷 如何:在当前作用域的顶部添加:"use strict" 要求: 1、禁止给未声明的变量赋值 2、静默失败升级为错误 静默失败:执行不成功,也不报错! 3、禁用了 arguments.calee arguments.callee:在调用时,获得当前正在执行函数名,因为递归的效率极低--重复计算量太大 解决:几乎所有的递归都可以用循环代替 4、普通函数调用和匿名函数自调中的this不再指向window,而是underfine 来源: https://my.oschina.net/u/4165441/blog/3108810

CPrimer Plus学习手记——第二章-快速概要-命名

流过昼夜 提交于 2019-11-30 03:50:25
命名 给变量命名时要使用有意义的变量名或标识符(如,程序中需要一个变量数羊,该变量名应该是sheep_count而不是x3)。 如果变量名无法清楚地表达自身的用途,可在注释中进一步说明。这是一种良好的编程习惯和编程技巧。 C99和C11允许使用更长的标识符名,但是编译器只识别前63个字符。对于外部标识符(参阅第12章),只允许使用31个字符。〔以前C90只允许6个字符,这是一个很大的进步。旧式编译器通常最多只允许使用8个字符。〕 实际上,你可以使用更长的字符,但是编译器会忽略超出的字符。也就是说,如果有两个标识符名都有63个字符,只有一个字符不同,那么编译器会识别这是两个不同的名称。 如果两个标识符都是64个字符,只有最后一个字符不同,那么编译器可能将其视为同一个名称,也可能不会。标准并未定义在这种情况下会发生什么。(忽略掉了超过的字符) 可以用小写字母、大写字母、数字和下划线(_)来命名。而且,名称的第1个字符必须是字符或下划线,不能是数字。 有效和无效的名称 无效的名称 第一个$符号不是字母、也不是下划线。** 第二个不能用数字2。 第三个-符号 第四个使用空格符号了 第五个‘符号 操作系统和C库经常使用以一个或两个下划线字符开始的标识符(如,_kcab),因此最好避免在自己的程序中使用这种名称。 标准标签都以一个或两个下划线字符开始,如库标识符。这样的标识符都是保留的

C++——数据共享与保护

落爺英雄遲暮 提交于 2019-11-30 02:33:48
一、标识符的作用域与可见性 1.1作用域 作用域是一个标识符在程序正文中有效的区域 分类 1、函数原形作用域 函数原型中的参数,其作用域始于 " ( ",止于" ) ",限与小括号内 2、局部作用域(块作用域) 函数的形参、在块中声明的标识符的作用域;自声明处起,限于块中 void fun(int a) { //a的范围在整个函数 int b = a; //b的范围仅限fun函数体 cin >> b; if (b > 0) { int c; //c的范围仅限if语句 ...... } } 3、类作用域 类的成员具有类作用域,其范围包括类体和非内联成员函数的函数体 如果在类作用域以外访问类的成员,要通过类名(访问静态成员),或者该类的对象名、对象引用、对象指针(访问非静态成员) 4、文件作用域 不在前述各个作用域中出现的声明的标识符,就具有文件作用域,始于声明处,止于文件尾 5、命名空间作用域 1.2可见性 可见性是从对标识符的引用的角度来谈的概念,表示从内层作用域向外层作用域“看”时能看见什么 1、如果标识在某处可见,就可以在该处引用此标识符 2、如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见 3、对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见(被屏蔽) 二、对象的生存期 2.1静态生存期

ES6深入浅出-1 新版变量声明:let 和 const-2.视频 let和const

跟風遠走 提交于 2019-11-30 02:20:21
以前的var方式声明不好用 a=1回声明一个全局变量, 输出了1 说明a=1确实声明了一个全局变量。 但是你把放在其他的地方,就不是声明全局变量了。 如果外面有个全局变量a 那么函数里面就是给a赋值 有两层函数的时候,直接使用的是局部变量a,也就是fn函数里面的a 如果当前没有a就声明一个全局变量a。如果有a就利用这个a。下面当前就是有a的 这样用的就是最外面的var a 如果外面也没有,这时候才会去声明一个全局变量 所以a=1会声明一个全局变量是错的,只有在没有a这个变量的情况下才会隐式的去声明一个全局变量 所以a=1就是含义不明 不建议使用 这样打印出来一个a是对的 没有声明的情况下输出a页面会报错。没有a任何的定义就去使用它 没有报错 不执行的代码影响了,执行的代码 var a会自动提升到上面去,虽然它不会执行,它会给代码一些不符合逻辑的地方,var a 会乱提升 第二个问题 不使用全局变量,全局变量会经常有问题,比如声明了一个全局变量,别人用了我不知道。 用一个函数包起来。 这样var a就是一个局部变量。 函数给他一个名字,不管叫啥名,都是全局变量。 当前x是全局变量,frank是全局变量 把var a放在函数里面 那么a就是一个局部变量。 把a包含在函数x里面。那么函数x就是一个全部变量了。 匿名函数直接调用,在函数的最后面加个括号。但是语法错误。 避免这个语法错误

问题集锦(30-35)

蓝咒 提交于 2019-11-29 21:41:03
Problem 30 关于 C 和 C++ 混合编程问题? Ans : 如果 C++ 程序要调用已经被编译后的 C 函数,该怎么办? 假设某个 C 函数的声明如下: void foo(int x, int y); 该函数被 C 编译器编译后在库中的名字为 _foo ,而 C++ 编译器则会产生像 _foo_int_int 之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同, C++ 程序不能直接调用 C 函数。 C++ 提供了一个 C 连接交换指定符号 extern“C” 来解决这个问题。例如: extern “C” { void foo(int x, int y); … // 其它函数 } 或者写成 extern “C” { #include “myheader.h” … // 其它 C 头文件 } 这就告诉 C++ 编译译器,函数 foo 是个 C 连接,应该到库中找名字 _foo 而不是找 _foo_int_int 。 C++ 编译器开发商已经对 C 标准库的头文件作了 extern“C” 处理,所以我们可以用# include 直接引用这些头文件。 -------------------------------------------------------- 延深 ------------------------------------------------

Java 问答:终极父类(第一部分)

匆匆过客 提交于 2019-11-29 20:45:43
Java的一些特性会让初学者感到困惑,但在有经验的开发者眼中,却是合情合理的。例如,新手可能不会理解Object类。这篇文章分成三个部分讲跟Object类及其方法有关的问题。 上帝类 问: 什么是Object类? 答: Object类存储在java.lang包中,是所有java类(Object类除外)的终极父类。当然,数组也继承了Object类。然而,接口是不继承Object类的,原因在这里指出: Section 9.6.3.4 of the Java Language Specification :“Object类不作为接口的父类”。 Object类中声明了以下函数,我会在下文中作详细说明。 protected Object clone() boolean equals(Object obj) protected void finalize() Class<?> getClass() int hashCode() void notify() void notifyAll() String toString() void wait() void wait(long timeout) void wait(long timeout, int nanos) java的任何类都继承了这些函数,并且可以覆盖不被final修饰的函数。例如,没有final修饰的toString()函数可以被覆盖

C语言中的extern关键字

走远了吗. 提交于 2019-11-29 19:27:11
目录 概述 变量/函数的声明(declaration)与定义(definition) extern关键字 extern关键字与函数 extern关键字与变量 概述 extern关键字可以被用于修饰C变量和函数,他扩展变量和函数的可见性。 变量/函数的声明(declaration)与定义(definition) 声明(declaration) :变量/函数的声明只是宣布变量/函数存在于程序的某个地方,但是还没有为它们分配内存。当一个变量被声明,程序就会知道那个变量的数据类型。当一个函数被声明,程序就会知道函数的参数类型、参数顺序以及返回类型。 定义(definition) :定义一个变量/函数时,除了声明,还会为变量/函数分配内存。可以认为定义是声明的超集。 从上面的解释可以看到, 变量/函数可以被声明多次,但只能被定义一次 。 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 extern关键字 extern关键字与函数 默认情况下,C函数的声明和定义会被自动加上extern。例如,当我们写如下代码 int foo(int arg1, char arg2); 编译器会看到 extern int foo(int arg1, char arg2);

C++:class

為{幸葍}努か 提交于 2019-11-29 19:16:04
class 类是C++的一个重要概念,也是面向对象的一个重要内容。类的行为类似结构体,但功能比结构体的更强大。类是定义该类对象的一个模板,它告诉我们,一个类应该具有什么内容。 声明、定义 类用关键字 class 声明、定义。 class LiF1; // 声明一个类 class LiF2 {}; // 声明并定义一个类 如果仅作声明,在声明之后定义之前,它是一个 不完全类型 ,这时只能定义指向该类型的指针或引用,可以声明但不能定义以该类型作为参数或返回值的函数。在类的名字出现之后,他就被认为是声明过的,因此, 可以在类内定义指向自身类型的指针或引用 。有时会遇到一些比较复杂的情形,就需要我们先声明一个类,随后再去完善定义。比如:我们需要一个类X包含一个指向类Y的指针,同时,类Y又包含一个类型为X的对象,实现如下: class X; class Y { X* x; }; class X { Y y; }; 成员 类内的数据称为类的 成员(member) ,成员包括 成员变量 和 成员函数 。成员变量定义类的 属性 ,成员函数定义类的 行为 。 成员变量 在类内声明的变量称为成员变量。成员变量可以是任何数据类型,甚至可以是指向自身类型的指针或引用。 成员函数 声明在类内部的函数称为 成员函数 。成员函数的本质也是普通函数