赋值

C语言中的union联合变量是什么意思

走远了吗. 提交于 2020-02-21 10:47:00
什么是联合变量 c语言中的union 是联合体,就是一个多个变量的结构同时使用一块内存区域,区域的取值大小为该结构中长度最大的变量的值 联合的定义 定义一个联合类型的一般形式为: union 联合名 { 成员表 }; 成员表中含有若干成员,成员的一般形式为: 类型说明符 成员名 。成员名的命名应符合标识符的规定。例如: union perdata { int class; char office[10]; }; 定义了一个名为perdata的联合类型,它含有两个成员,一个为整型,成员名为class;另一个为字符数组,数组名为office。联合定义之后,即可进行联合变量说明,被说明为perdata类型的变量,可以存放整型量class或存放字符数组office。 联合变量的说明 联合变量的说明和结构变量的说明方式相同, 也有三种形式。即 A.先定义,再说明; B.定义同时说明; C.直接说明 以perdata类型为例,说明如下: union perdata { int class; char office[10]; }; union perdata a,b; 或者可同时说明为: union perdata { int class; char office[10]; }a,b; 或直接说明为: Union { int class; char office[10]; }a,b ;

ES6 解构赋值

白昼怎懂夜的黑 提交于 2020-02-21 08:12:15
解构赋值 对象的解构赋值: let obj = { a:1, b:2 }; // 假如需要两个变量把里面的两个值进行保存起来进行使用: /* let a = obj.a; let b = obj.b; console.log(a,b); */ // es6中的解构赋值可以这样写: let {a,b} = obj;//注意这里的严格遵守: {a,b} 必须是obj.a属性对应名字; console.log(a,b); // 解构赋值: 把整个解构进行解开,赋值就是把他们往前赋值给对应的变量 // 要求变量名和属性名一致 数组的解构赋值: { let arr = ["a","b","c"]; let [e,f] = arr; console.log(e,f);//a,b } { // 快速交换a,b值 let a = 1; let b = 2; [a,b] = [b,a]; console.log(a,b);//2,1 } 字符串,数字的解构赋值: { let str = "abc"; let [e,f] = str; // 结果和数组的解构赋值一样的!也是按照顺序; console.log(e,f);//ab } { let nub = 123; let [c,d] = nub; console.log(c,d);//提示对象不是一个迭代器..what } 来源: https:/

C++ Primer Plus第6版18个重点笔记

╄→尐↘猪︶ㄣ 提交于 2020-02-21 06:32:43
下面是我看《C++ Primer Plus》第6版这本书后所做的笔记,作为备忘录便于以后复习。 笔记部分 C++的const比C语言#define更好的原因? 首先,它能够明确指定类型,有类型检查功能。 其次,可以使用C++的作用域规则将定义限制在特定的函数或文件中。 第三,可以将const用于更复杂的类型,比如数组和结构。 C语言中也有const,其与C++中const的区别是: 一是作用域规则不同;另一个是,在C++中可以用const值来声明数组长度。 不能简单地将整数赋给指针,如下所示: int *ptr; ptr = 0xB8000000; // type mismatch 在这里,左边是指向int的指针,因此可以把它赋给地址,但右边是一个整数。您可能知道,0xB8000000是老式计算机系统中视频内存的组合段偏移地址,但这条语句并没有告诉程序,这个数字就是一个地址。在C99标准发布之前,C语言允许这样赋值。但C++在类型一致方面的要求更严格,编译器将显示一条错误消息,通告类型不匹配。要将数字值作为地址来使用,应通过强制类型转换将数字转换为适当的地址类型: int *ptr; ptr = (int *) 0xB8000000; // type now match 这样,赋值语句的两边都是整数的地址,因此这样赋值有效。 注意

自增运算符和赋值运算符的优先级及运算问题

£可爱£侵袭症+ 提交于 2020-02-20 22:01:52
#include<stdio.h> void main() { int a = 10; int b =0; b=a++; printf("a=%d\n", a); printf("b=%d\n", b); } 运行结果: a=11 b=10 ///////////////////////////////////////////////////// #include<stdio.h> void main() { int a = 10; int b =0; b=++a; printf("a=%d\n", a); printf("b=%d\n", b); } 运行结果: a=11 b=11 结论: ++运算符放在操作数前,操作数先自加,再参与运算 ++运算符放在操作数后,操作数先参与运算,再自加 同理- -运算符同样道理 来源: https://www.cnblogs.com/qwcblog/p/12325103.html

yaml语法和赋值

谁说我不能喝 提交于 2020-02-20 10:20:22
yaml语法和赋值 springboot使用一个全局的配置文件,配置文件名称是固定的 application.properties key=value applicaton.yaml key: value (注意:后面的空格) server: port: 8081 同时yaml可以用来存放对象,数组 #对象 boy: name: 野原新之助 age: 5 #行内写法 girl: {name: 野原向日葵,age: 1} #数组 fruits: - apple - banana - peach #行内写法 pets: [cat,dog,pig] 通过yaml赋值 person: name: 野原新之助 boy: true age: 5 birthday: 1982/5/5 maps: {k1: v1,k2: v2} list: - ${random.uuid}-随机生成uuid - ${random.int}-随机数 - ${person.girlfriend:non}-如果存在girlfriend则为girlfriend的值,不存在则为non dog: name: 小白 age: 3 在原实体类加上 @ConfigurationProperties(prefix = "person") 测试类 @Autowired private Person person; 出现的提示 解决方法

HashMap-treeifyBin()源码简读(JDK1.8)

拟墨画扇 提交于 2020-02-20 05:03:41
HashMap的treeifyBin()方法源码 final void treeifyBin ( Node < K , V > [ ] tab , int hash ) { //定义几个变量,n是数组长度,index是索引 int n , index ; Node < K , V > e ; //这里的tab指的是本HashMap中的数组,n为数字长度,如果数组为null或者数组长度小于64 if ( tab == null || ( n = tab . length ) < MIN_TREEIFY_CAPACITY ) //则调用resize()方法直接扩容,不转红黑树 resize ( ) ; //否则说明满足转红黑树条件,通过按位与运算取得索引index,并将该索引对应的node节点赋值给e,e不为null时 else if ( ( e = tab [ index = ( n - 1 ) & hash ] ) != null ) { //定义几个变量,hd代表头节点,tl代表尾节点 TreeNode < K , V > hd = null , tl = null ; do { //先把e节点转成TreeNode类型,并赋值给p TreeNode < K , V > p = replacementTreeNode ( e , null ) ; //如果尾节点tl为空

自定义注解

Deadly 提交于 2020-02-20 05:02:14
如果要自定义一个注解,首先要明白注解怎样定义,也就是注解定义时的格式。 先来看一个Spring框架的注解@Component。 可以看到,定义注解有两个关键点:元注解、方法(在注解中又叫属性)。 注解的属性(接口中的方法) 一直都在强调,注解的本质是接口,所以,它的内部可以声明方法,在注解中,这些方法又叫做属性。 public @interface TestAnnotation { String value(); } 声明这个方法(属性)又有什么用?为了探究它有什么用,先使用一下这个注解。 报错的原因是没有给value这个属性赋值,所以要给它赋值 再次返回到注解的定义中,看到value方法的返回值类型是String。在使用时(赋值时),要与方法返回值的类型一致。 如果注解只有一个属性,并且这个属性的名称是value,则在使用时,可以在括号中直接写值。 也就是说,对于上面的例子,可以这样使用 @Target("hello") //等价于@Target(value = "hello") 除此之外,还可以设置方法返回默认值,也就是这个属性的默认值。 public @interface TestAnnotation { String value() default "hello"; } 在方法声明后跟上default关键字,在default关键字后加上默认的返回值(或者说是默认的属性值)。

js使用

和自甴很熟 提交于 2020-02-19 14:50:19
js使用 HTML 中的脚本必须位于 <script> 与 </script> 标签之间。 脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。   1.JavaScript 对大小写是敏感的。   2.JavaScript 会忽略多余的空格。您可以向脚本添加空格,来提高其可读性。 Test:点击按钮改变标签内容 <!DOCTYPE html> <html> <body> <h1>My Web Page</h1> <p id="myPar">I am a paragraph.</p> <div id="myDiv">I am a div.</div> <p> <button type="button" onclick="myFunction()">点击这里</button> </p> <script> function myFunction() { document.getElementById("myPar").innerHTML="Hello World"; document.getElementById("myDiv").innerHTML="How are you?"; } </script> <p>当您点击上面的按钮时,两个元素会改变。</p> </body> </html>   3.对代码行进行折行 您可以在文本字符串中使用反斜杠对代码行进行换行

Verilog笔记.1.基本语法

*爱你&永不变心* 提交于 2020-02-19 08:32:42
0. 前 抽象模型分级: • 系统级(system):用高级语言结构实现设计模块的外部性能的模型。 • 算法级(algorithm):用高级语言结构实现设计算法的模型。 • RTL级(Register Transfer Level):描述数据在寄存器之间流动和如何处理这些数据的模型。 • 门级(gate-level):描述逻辑门以及逻辑门之间的连接的模型。 • 开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。 1.最基本的数据类型 reg型、wire型、integer型、parameter型 在数字电路中, x代表不定值,z代表高阻值 。 一个数字可以被定义为 负数, 只需在位宽表达式前加一个减号,减号必须写在数字定义表达式的最前面。 在一个模块中改变另一个模块的参数时,需要使用defparam命令。 wire型 数据常用来表示用于以 assign 关键字指定的组合逻辑信号。 reg型 数据常用来表示用于 “always”模块 内的指定信号,常代表触发器。 reg型数据的缺省初始值是 不定值 。 memory型 数据是通过 扩展reg型 数据的地址范围来生成的。举例说明:   reg [n-1:0] mema[m-1:0]; 这个例子定义了一个名为mema的存储器,该存储器有m个n位的存储器。 注意

Python学习笔记(一):Python基础学习

若如初见. 提交于 2020-02-19 00:04:37
总结的内容: 1、变量的命名 2、脚本的注释 3、运算符 4、用户输入语句 一、变量的命名 1、变量用于引用在程序中可能会变化的值。它们被称为变量是因为它们可能引用存储在内存中的不同的值。 2、变量的命名规则: 1、由字母、数字、下划线构成 2、变量必须以字母或下划线开头,不能以数字开头 3、变量不能使用关键字。关键字,又被称为保留字,它们在Python中都有特定的含义。例如import是一个关键字,它告诉Python解释器将一个模块导入到程序 3、变量的赋值 a = "test" //该语句我们叫做赋值语句 b = 123 age = 10 #int 类型 name ='小白' #字符串类型 string socre = 89.98 #浮点型 float 4、变量值的输出 age = 10 输入即可使用:print(age) 5、使用type查看变量的类型 age = 18 #int 类型 name ='test' #字符串类型 string socre = 89.98 #浮点型 float 查看语句: print(type(age)) #type 看变量是什么类型的 print(type(name)) print(type(socre)) 6、在变量字符创赋值中单引号、双引号的区别 在变量的赋值中,如果值里面有单引号那么在赋值的最外侧应该用双引号扩起来