常量与变量

空指针与野指针

匿名 (未验证) 提交于 2019-12-02 23:38:02
Ŀ¼ 一、空指针常量 二、空指针 1、空指针指向内存的什么地方 2、逻辑地址和物理地址 3、空指针赋值分区 4、为什么空指针访问会出现异常 三、NULL指针 四、零指针 五、野指针 1、针变量没有被初始化 2、指针被free或者delete之后,没有设置为NULL,让人误以为这是一个合法指针 3、指针操作超越了变量的作用范围 一、空指针常量 一个表示0值的整数常量,叫做空指针常量 。例如:0、0L、1-1(它们都是值为0的整数常量表达式)以及(void*)0、void* NULL 都是空指针常量,空指针常量可以赋值给任何指针类型,因为它是变体类型(void*)。 但是我们更倾向于使用NULL表示这个空指针常量 。对于其它方式(比如0)来表示空指针常量虽然不会产生任何问题,但是在根本意义上并不符合空指针常量的定义。因为空指针常量的存在意义还在强调它并不指向任何对象(后面会讲细节)。 二、空指针 空指针不指向任何实际的对象或者函数 。反过来说,任何对象或者函数的地址都不可能是空指针。空指针是一个特殊的指针,因为这个指针不指向任何地方。这意味任何一个有效的指针如果和空指针进行相等的比较运算时,结果都是false。 int *ip = NULL ; 1、空指针指向内存的什么地方 用哪个具体地址值表示空指针取决于系统实现 。我们常见的空指针一般指向0地址,即空指针的内部用全0来表示(zero

IT技术总结day01

匿名 (未验证) 提交于 2019-12-02 23:36:01
1.Java的注释方式有哪几种?如何书写? … /用于多行注释;/**…*/格式用于产生javadoc工具所用的注释。 2.什么是关键字与标识符? 每门编程语言都有一些保留的单词,用于定义该门语言,这些单词对编译器有特殊的含义,并且不能用作为标识符――这就是编程语言的关键字。 标识符是在Java代码中我们自己选用的单词。在Java中,我们需要标识代码中的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符。 3.Java中的const、goto关键字有什么作用? 4.Java中有哪些保留字? 在Java中,有三个保留字:true、false和null。从技术上说,这三个保留字是字面量值,而不是关键字。但是,它们不能被用作标识符,并且对于Java编译器来说有特定的含义。 5.标识符的命名规则,并且注意Java类名不区分大小写? 我们需要标识代码中的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符,并且必须遵循如下规则: ) 。 标 ʶ 符 的 第 һ 个 字 符 必 须 是 һ 个 字 ĸ 、 下 划 线 ( ) 或 美 Ԫ 符 号 ( )。 标识符的第一个字符必须是一个字母、下划线(_)或美元符号( ) 。 标 ʶ 符 的 第 һ 个 字 符 必 须 是 һ 个 字 ĸ 、 下 划 线 ( ) 或 美 Ԫ 符 号 ( )。 6

PHP基础2--基本语法

匿名 (未验证) 提交于 2019-12-02 22:11:45
知识点: 标记符,注释 变量 常量 数据类型 运算符 流程控制 标记符,注释   4种标记符号:     1. 默认形式: <?php php语句 ?>       如果<?php ...?>之后没有html代码,则 ?> 标记可以省略     2. 短标签形式: <? php语句 ?>       默认是关闭的,需要开启配置项【php.ini】: short_open_tag=on     3. script标签形式: <script language=”php”> php语句 </script>     4. asp形式: <% php语句 %>       默认是关闭的,需要开启配置项【php.ini】: asp_tags =on   大小写      变量: 区分大小写     常量: 区分大小写, 可以在php.ini文件中配置为不区分大小写     其他不区分大小写: 如函数名,系统关键字...   注释     单行注释: //注释内容 或 #注释内容     多行注释: /*注释内容*/ 变量   概念:     代表一定存储空间及其中数据的一个“标识符”     赋值同时定义变量, $v1 = 1; 图示:   命名规则     以字母或下划线开头 后跟任意数量(含0个)字母,数字和下划线     常见命名:         骆驼命名法 : 首单词小写

php基础文档

匿名 (未验证) 提交于 2019-12-02 22:11:45
Ŀ¼ PHP PHP PHP PHP PHP PHP PHP PHP session cookie 1.PHP PHP PHP hypertext prerocessor web HTML C Java Perl web web PHP 2.PHP 基本语法与名词解释 变量 常量 表达式 1)基本语法与名词解释 PHP PHP <?php ?> 这告诉 php 此种解析方式使得 php 记之外的部分都会被 php 分割符号: php 注释方法: php C C++ unit shell Js 输出方法: echo echo 2)变量 描述:变量是其所表示的值可以发生改变的量, 在 php 语法: $ 规则:变量名与 php 一个有效的变量名由字母或下划线开头,后面跟上任意数量的字母 ,数字,或下划 线。 注意: php php js php & 号。 php 例子: $var = ‘ frank ’; $Var = ‘ iwen ’; echo “ $var , $Var ”; // 输出 “frank, iwen”    3) 描述:常量指在脚本执行期间该值不能改变的标识符。 常量默认为大小写敏感,传统是常量表示符总是大写的。 语法: define ‘常量名’,’简单值’); 规则:常量名和其他任何 PHP 合法的常量名以字母和下划线开始,后面跟着任何字母,数字或下划线。 注意:

C常量与变量

£可爱£侵袭症+ 提交于 2019-12-02 16:58:22
/** * C中的常量与变量 * 常量的值在程序中是不可变化的,其在定义时必须给一个初始值 * 常量的定义方式: * 1.#define 定义宏常量 * 2.const 定义const常量 * 对于#define类型的常量,c语言的习惯是常量名称为大写,但对普通 * const常量以及变量,一般为小写结合大写的方式 * * 变量的值是可变的 */ #include <stdio.h> // 定义一个宏常量,值为500 // 常量的值不可以更改 #define NUM 500 // 定义字符串常量 #define STR "我爱你,中国\n" int main() { // 声明变量a int a; // 给变量a赋值 a = 200; // 修改变量a的值 a = 500; // 输出变量a printf("变量a = %d\n", a); // 变量a = 500 // 输出宏常量NUM printf("宏常量NUM = %d\n", NUM); // 宏常量NUM = 500 // 定义const常量b const int b = 300; // 输出常量b printf("常量b = %d\n", b); // 常量b = 300 // 输出宏字符串常量STR printf(STR); // 我爱你,中国 // 定义一个const字符串常量 const char *str =

第3课.进化后的const

不羁的心 提交于 2019-12-02 15:41:40
1.c语言中 const修饰的变量是只读的,本质上还是变量 const修饰的局部变量在栈上分配空间(因为在栈上分配空间,所以我们可以通过改变这个空间的值。间接去改变这个变量。) const修饰的全局变量在只读存储区分配变量(这个区不能改) const在编译期有用,在运行期无用(const修饰的变量只在编译期有只读属性,过了编译期的运行期就无效了) const修饰的变量不是真的变量,它只是告诉编译器该变量不能出现在赋值号的左边。 思考:c语言中怎么定义真正的常量? 只有enum(注:define不能,它是宏定义不是常量定义,下面会讲到) eg:const变量被修改 2.c++中 const的声明是在符号表中放入常量,编译过程中发现使用该常量是则直接以符号表中的值替换,编译过程中若发现以下情况则给对应的常量分配存储空间。(这里分配空间只是为了更好的兼容c语言,实际上并没有什么用) a.对const常量使用了extern b.对const常量使用了& 注:c++编译器虽然可能为const常量分配空间,但不会使用其存储空间的值。 3.c++中const常量与宏定义的区别 const常量是由编译器处理,编译器对const常量进行类型检查和作用域检查 宏定义有预处理处理,单纯的文本替换 注:const定义的变量不能使用在数组,case之类的地方(因为const不是常量) 来源: https:/

阿里官方代码规范

时间秒杀一切 提交于 2019-12-02 14:34:19
1.1.1 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 1.1.2 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式 1.1.3 / 1.1.4 类名使用UpperCamelCase风格,必须遵从驼峰形式(某些情况诸如领域模型相关的命名除外);方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式 1.1.5 常量命名全部大写,单词间用下划线隔开 1.1.9 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词 1.1.6 抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾 1.1.13 对于Service和DAO类,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl的后缀与接口区别 1.1.13 如果是形容能力的接口名称,取对应的形容词做接口名 1.1.14 枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开 1.1.11 如果使用到了设计模式,建议在类名中体现出具体模式 1.1.9 包名统一使用单数形式;类名如果有复数含义,类名可以使用复数形式 1.2.1 不允许出现任何魔法值(即未经定义的常量)直接出现在代码中 1.2.3 不要使用一个常量类维护所有常量

Tensorflow从零到精通

十年热恋 提交于 2019-12-02 12:57:54
Tensorflow是一种计算图模型,即用图的形式来表示运算过程的一种模型。Tensorflow程序一般分为图的构建和图的执行两个阶段。图的构建阶段也称为图的定义阶段,该过程会在图模型中定义所需的运算,每次运算的的结果以及原始的输入数据都可称为一个节点(operation ,缩写为op)。我们通过以下程序来说明图的构建过程: 程序2-1: 程序2-1定义了图的构建过程,“import tensorflow as tf”,是在python中导入tensorflow模块,并另起名为“tf”;接着定义了两个常量op,m1和m2,均为1*2的矩阵;最后将m1和m2的值作为输入创建一个矩阵加法op,并输出最后的结果result。 我们分析最终的输出结果可知,其并没有输出矩阵相加的结果,而是输出了一个包含三个属性的Tensor(Tensor的概念我们会在下一节中详细讲解,这里就不再赘述)。 以上过程便是图模型的构建阶段:只在图中定义所需要的运算,而没有去执行运算。我们可以用图2-1来表示: 第二个阶段为图的执行阶段,也就是在会话(session)中执行图模型中定义好的运算。 我们通过程序2-2来解释图的执行阶段: 程序2-2: 此外,我们还可以利用CPU或GPU等计算资源分布式执行图的运算过程。一般我们无需显示的指定计算资源,Tensorflow可以自动地进行识别,如果检测到我们的GPU环境

学习笔记——final关键字

你说的曾经没有我的故事 提交于 2019-12-02 12:48:23
final描述一种终结器概念,可以实现如下功能: ·定义不能被继承的类 final class Java{} ·定义不能被覆写的方法、常量 final public void connect() ·定义常量:重要应用是定义不可改变的常量 1.假设在程序开发中用0表示关闭,用1表示打开。private int a=1;private int b=0;此时常量可能会发生改变,通过添加fianl关键字限制修改。 2.常量都是定义公共的,为了体现共享性,使用public static final定义全局常量,形式如下:(注意常量名必须大写) public static final int A=1;(公共全局常量) public class Jicheng{ public static void main(String args[]){ final String a="4567";//此时a不能修改,系统默认为常量 String b="123456789"; String c="123"+a+"89";//从池中直接加载数据 System.out.println(c==b);//栈中的c与b指向堆中同一个地址数据内容 } } 输出结果:true public class Jicheng{ public static void main(String args[]){ String a=