赋值

变量定义和赋值(上)

流过昼夜 提交于 2020-04-05 17:31:55
一、变量的定义 1.变量: 实际上就是在内存中找一个空闲的地方,按照其要存放的数据类型开辟一片空间,用于存放数据,并给这个内存地址空间取一个名称,即是变量名。 2.语法格式要求为:数据类型 变量名; ①最后的分号千万不要丢了。变量的定义是一个语句,C 语言中,语句都是以分号结尾的。 ②“数据类型”表示想要存储什么类型的数据就定义什么类型的变量。想要存储整数就定义成 int 型;想要存储小数就定义成 float 型或 double 型;想要存储字符就定义成 char 型......。 ③“变量名”就是你想给这个变量起个什么名字,通常都是用字母。 二、变量的赋值 1.什么是赋值: 变量是一个存放数据的内存单元,当定义好一个变量后系统会存一个值进去,这个值往往是已经存在于该内存空间的垃圾值(系统分配的一个无意义的值)。将一个数放到一个变量中,这个过程叫“赋值”。“赋”即“给予”的意思,所以“给变量赋值”意思就是将一个值传给一个变量。 2.怎么赋值: ①赋值运算符= ②赋值的格式是:变量名 = 要赋的值;它的意思是将=右边的数字赋给左边的变量。比如:i = 3;这就表示将 3 赋给了变量 i,此时 i 就等于 3 了。 ③注意:这里的=跟数学中的“等于号”是不一样的。C 语言中=表示赋值,即将右边的值赋给左边的变量,而不是左边的变量等于右边的值。 C语言中表示相等的是双等号==

c语言-指针

孤街醉人 提交于 2020-04-05 15:34:03
指针 一、指针的地址 1、变量的地址 计算机中,数据存储在内存中,内存可划分为若干存储单元,每个单元可以存放8位二进制数,即1个字节。内存单元采用线性地址编码,每个单元具有唯一一个地址编码。 【1】变量的地址: 系统 为变量分配的内存单元的地址(内存中每一个字节都有一个编号, 就是“地址”,是一个 无符号整型数 ) 【2】变量的有关概念 存储内容:数据值 空间大小:数据类型 空间位置:地址 生存周期:存储类别 2、变量的访问方式 【1】直接访问 int a; float b; a = 3; //直接将3放入a的地址 b = 4; 【2】间接访问:定义一个变量p,存放a的地址,通过p来访问a 3、指针变量: 存放地址的变量 例:p为指针变量,它存放整型变量a的首地址,就称指针变量p 指向 整型变量a 二、指针变量的定义与引用 指针变量在使用前必须定义,使其指向特定类型的变量,指针变量存放地址,必须定义为“指针类型”。 1、定义方法   类型符 *指针变量名 指针变量的类型 所指向的内存中存放的数据的类型 int *p1,*p2; char *ps; float *pf1,*pf2; 2、指针变量的赋值 【1】指针变量的值为地址,是一个无符号整数, 但不能直接将整型常量赋给指针变量 。 注:变量的类型必须与指针变量的类型相同,若不赋值,则指针变量的值是随机的( 会很危险

存储例程

徘徊边缘 提交于 2020-04-04 17:59:57
存储例程 存储例程是存储程序的一种类型,本质上也是封装了一些可执行的语句,只不过它的调用方式是:需要手动去调用!存储例程又可以分为存储函数和存储过程。 存储函数 创建存储函数 存储函数其实就是一种函数,只不过在这个函数里可以执行命令语句而已。函数它可以把处理某个问题的过程封装起来,之后直接调用函数就可以去解决同样的问题了。MySQL 中定义存储函数的语句如下: CREATE FUNCTION 存储函数名称([参数列表]) RETURNS 返回值类型 BEGIN 函数体内容 END 从这里可以看出,定义一个存储函数需要指定函数名称、参数列表、返回值类型以及函数体内容,如果该函数不需要参数,那参数列表可以被省略,函数体内容可以包括一条或多条语句,每条语句都要以分号 ; 结尾。里边的制表符和换行仅仅是为了好看,完全可以用空格代替。 mysql> delimiter $ mysql> create function avg_score(s varchar(100)) -> returns double -> begin -> return (select avg(score) from student_score where subject = s); -> end $ Query OK, 0 rows affected (0.01 sec) 定义了一个名叫 avg_score 的函数

Python中函数的默认参数问题

不羁的心 提交于 2020-04-04 08:43:44
前几天,运营反馈了一个BUG,某些数据在写入数据库后,其时间字段出现异常,与当前时间相差较多。 由于代码是不是我写的,所以开始一遍阅读代码一遍排查问题。 在主流程中,仅仅发现了一个对时间赋值的语句,并且赋值使用的是data.CreateTime=int(time.time())这样的形式,应该没有问题。 在别的地方没有找到对该字段赋值的操作,于是想看看这个类是不是自身有什么方法会修改时间字段。 最终在类初始化函数中找到了这样的内容 1 class Data(): 2 def __init__(a, b=None, CreateTime=int(time.time())): 3 self.a = a 4 self.b = b 5 self.CreateTime = CreatTime 问题就出现在这里,在Python官方文档中有这么一句话: Default parameter values are always evaluated when, and only when, the “def” statement they belong to is executed. https://docs.python.org/3/reference/compound_stmts.html 意思是,默认参数始终在且仅在函数定义时赋值一次,所以上面的代码造成的问题是

C#基础:out和ref的区别

穿精又带淫゛_ 提交于 2020-04-03 14:21:38
public partial class 知识点 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } //调用方法之前,传递参数的时候,参数可以先不初始化 //方法返回前,必须给out参数赋值,因为out参数值是不能通过实参传递到方法中的 private int outFun(out Object a) { string s = "other opt"; //a = Convert.ToInt32(a) + 1; //编译不通过,Use of unassigned out parameter 'a' a = 11;//方法返回前,必须给out参数赋值 return 1; } //必须在调用前,给ref参数初始化 //方法中不强制给ref参数赋值,因为实参已经通过ref参数传递进来,ref参数已经实例化过。 private int refFun(ref Object b) { //string s = b.ToString();//运行异常,空引用 //方法返回前,可以不给给ref参数赋值 b = Convert.ToInt32(b) + 1;//ref参数,成功传递到被调用的方法 return 1; } protected void Button2_Click(object

C#中out和ref使用

狂风中的少年 提交于 2020-04-03 11:52:27
1、out必须在方法中为其赋值,在调用的时候必须在变量的前面加上out关键字,侧重输出。 2、ref修饰方法的参数,在调用的时候必须在变量的前面加上ref关键字,可以修改其值也可以不修改,侧重修改。 3、out和ref只能传递变量不能传常量,传递的时候不是传递变量的值,而是传变量的地址。 3、out在传递之前可以不赋初始值,因为在方法里面肯定会为out赋值,ref在传递之前必须要有值,因为在方法中有可能会用到参数的值。 static void TestOut(out int i) { i=110;//out中一定要对变量赋值 } static void TestRef(ref int i) { i+=1;//ref中可以对变量赋值也可以不赋值 } staitc void Main(string[] args) { int i=12; TestOut(out i); //TestOut(out 12);这样就报错,只能传变量不能传常量 Console.WriteLine(i); int[] arr={1,2,4,6,3}; int min=0; int max=0; GetMaxAndMin(arr,out max,out min); Console.WriteLine(min+":"+max); int num; //TestRef(ref num);//这样就有可能报错

Vue和js冲突解决

泄露秘密 提交于 2020-04-02 21:23:32
问题描述: Vue不允许js直接操作他的dom对象中的属性, 解决:通过js直接操作Vue还没赋值时的元素。即原先我们是直接把我们想要的值赋值给标签,现在我们需要先把值赋值给Vue,然后通过Vue再把值赋值给标签,这样,就避免了直接操作dom元素 代码: 第一步:在外面创建一个变量,并把值赋值给Vue 第二步:把返回来的值赋值给Vue的info,同时赋值给myModel(一定要赋值,因为我们要操作里面的元素,如果不赋值,会报空指针异常) 第三步:把我们想要改变的值赋值给myModel即可, 来源: https://www.cnblogs.com/xiaofengshan/p/12622883.html

nginx的启动流程和接客流程

巧了我就是萌 提交于 2020-04-02 09:30:10
  把这些日子看 nginx 的一些笔记整理了下,准备放在这里,发现越整理越大,这次有些比较粗糙,下次按照各个模块在细化下 主要是两部分,诞生准备接客流程,和接客服务流程。为了清晰点, 这里只分析单进程的nginx,对于多个工作进程的nginx模式,这里暂时不讨论。 诞生准备接客流程    nginx 的这个小 baby 诞生前的初始化工作若干,这里的小 baby 特指建立的 ngx_cycle_t, nginx 服务的生命周期用到的核心组件都在它里面 设置错误信息存储的buffer     ngx_strerror_init 从启动的命令中获取参数,赋予相应的变量     ngx_get_options(argc, argv) -p 赋值给ngx_prefix ngx 的工作目录 -c 赋值给ngx_conf_file n ginx 的配置文件 -g 赋值给ngx_conf_params nginx 的指令 -s 赋值给ngx_signal 传递给 nginx 的信号 时间配置     ngx_time_init(); 正则配置     ngx_regex_init(); 初始化我们的log,在这之后我们才可以把信息打入我们的日志。     log = ngx_log_init(ngx_prefix);    nginx 小 baby 的诞生,这个小 baby 还比较白痴

三、C#入门—数据类型

浪尽此生 提交于 2020-04-01 10:58:28
三、C#数据类型   3.1.变量     声明->赋值->使用      作用域:变量作用域为包含它的大括号内   3.2.常量     1)const 数据类型 常量名称 = 常量值       声明常量时一定要赋值     2)@作用 输出转义字符  @"Hello World\n" 让字符串换行   关键字用作标识符 @namespace @class ..   3.3.数据类型之值类型     1)C#预定义的数据类型包括两种:值类型、引用类型       区别:       值类型是在栈中操作,引用类型则在堆中分配存储单元       传递类型方式不同     2)内存分配:       栈  --> 局部变量       堆  --> new/malloc       .data --> 已初始化的全局变量、静态变量,可读写       .bss --> 未初始化全局变量、静态变量,可读写       data --> 常量区,只读           code --> 代码区,只读     3)值类型包括数值类型、布尔类型和字符类型   3.4.数据类型之引用类型     1)引用类型包括对象(object)和字符串(string)       object类型:所有其他类型的基类型       字符串:不可变性,当你给一个字符串重新赋值后,老值并没有摧毁

从表单为实体对象赋值

牧云@^-^@ 提交于 2020-04-01 05:56:02
首先需要把从表单获得的字符串转换为指定类型,可以使用以下代码: object value = Convert.ChangeType(valueStr, desiredType); // 把valueStr转换为desiredType指定的类型 注意 :Convert.ChangeType不能转换Nullable<Type>类型的值。需要进行处理以下函数来转换: 1. 方式一,使用泛型 public static T ChangeType<T>(object value) { Type conversionType = typeof(T); if (conversionType.IsGenericType && conversionType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) { if (value == null) { return default(T); } conversionType = Nullable.GetUnderlyingType(conversionType); } return (T)Convert.ChangeType(value, conversionType); } 2. 方式二 public static object ChangeType(object value, Type