初始化

C语言-指针

泄露秘密 提交于 2020-02-11 06:53:43
无指针,不自由 --1-- 为什么要使用指针 1.1 指针的基本概念 1.2 使用指针的好处 1.3 变量的存储方式 --2-- 指针变量 2.1 指针变量 2.2 定义一个指针变量 2.3 指针变量的初始化方法 2.4 使用 * 获取指针对应存储区域的内容 --3-- 存储细节 3.1 变量及指针变量 --4-- 常见的应用场景 4.1 指针常见的应用场景 --5-- 多级指针介绍 5.1 二级指针 5.2 多级指针介绍 ---------------------------- 【写在开头:】 『 生活中的指针: 没错,就是一个门牌号。 指针是 C 语言中最重要的内容之一。 为什么要使用指针? 如果你想要查找一篇资料,给你一本厚重的百科全书,而你只需要其中第3001页的内容。 那么,3001页,就是指针。如果没有这个指针...好吧,我去旁边哭会儿... 』 --1-- 为什么要使用指针 1.1 指针的基本概念 内存单元的编号也叫做地址,根据内存单元的编号或地址就就可以找到所需的内存单元。 所以通常也把这个地址称为指针 1.2 使用指针的好处 1 )为函数提供修改调用变量的灵活手段 2 )让函数有多个返回值 3 )可以改善程序的效率   在数据传递时,如果数据块较大(比如数据缓冲区或比较大的结构),这时就可以使用指针传递地址而不是实际数据,既提高传输速度,又节省了大量的内存 4

c语言基础2指针

冷暖自知 提交于 2020-02-11 06:07:42
--------- 指针的详解 --------- 指针的定是 int * a; b = 1; a=&b 可以看出来,a这个指针变量存的是b的地址。 可以变形为int *a=&b *d 表示访问位置100,并取得里面的值。 一个常见的错误,int *a ;*a= 12;但是a究竟指向哪里呢,由于我们没有对a进行初始化,所以我们没有办法预测12这个值究竟存在哪里。如果变量是静态的 它会被初始化为0,如果是自动的它根本不会被初始化,无论哪种情况,声明一个 指向整型的指针都不会创建用于存储整型的内存空间。 所以程序执行这个赋值操作,将会发生什么呢?如果你运气好,a的赋值是个非法地址,这样赋值语句将会出错 标准定义了空指针,NULL指针,它作为一种变量特殊的指针变量,表示不指向任何东西,要使一个指针变量变为NULL,你可以给他附一个零值。为了测试一个指针是否为空 可以将他与零值进行比较,之所以选择零值是因为一种源代码约定,就机器语言而言,NULL指针的实际值可能与此不同,在这种情况下,编译器负责将零值和 内部值之间进行转换。 NULL指针的概念非常有用,因为他给了你一种方法,表示某个特定的指针目前并未指向任何东西。例如一个用于在某个数组中查找某个特定值的函数可能返回一个 指向查找到得数组元素的指针。如果该数组不包含指定条件的值,函数就返回一个NULL指针

C语言------指针

好久不见. 提交于 2020-02-11 05:28:46
1. 每个字节包含8个位,为了存储更大的值,我们把两个或更多个字节合在一起作为一个更大的内存单位。每个字一般由2个或4个字节组成。需要注意的是,尽管一个字包含了4(或2)个字节,它仍然只有一       个地址。 2. 指针的初始化是用&操作符来完成的,它用于产生操作数的内存地址。 3. 一个变量的值就是分配给这个变量的内存位置所存储的数值,即便是指针变量也不例外。 4. 通过一个指针访问它所指向的地址的过程称为间接访问(indirection)或解引用指针(dereferencing the pointer)这个用于执行间接访问的操作符是单目操作符 “*”。 5. 对指针进行解引用操作可以获得它所指向的值。从定义上看,NULL指针并未指向任何东西。因此,对一个NULL指针进行解引用操作是非法的,在对指针进行解引用操作前,你首先必须确保它非NULL指针 6. 对所有的指针变量进行显式的初始化是种好做法,如果你已经知道指针将被初始化为什么地址,就把它初始化为该地址,否则就把它初始化为NULL,风格良好的程序会在指针解引用之前对它进行检查,这种初始化策略可以节省大量调试时间。 7. 变量(除了const变量外)都是左值。指针变量可以作为左值,并不是因为它们是指针,而是因为它们是变量。 8. 指向指针的指针。例如:*b = &a; c = &b; 那么**c就是指向指针的指针。  

面试集锦

半城伤御伤魂 提交于 2020-02-11 05:19:40
1. Java初始化顺序 http://www.cnblogs.com/jackyrong/archive/2008/08/12/1266161.html 父类--静态变量 父类--静态初始化块 子类--静态变量 子类--静态初始化块 父类--变量 父类--初始化块 父类--构造器 子类--变量 子类--初始化块 子类--构造器 2. 守护线程 http://www.cnblogs.com/ChrisWang/archive/2009/11/28/1612815.html The Java Virtual Machine exits when the only threads running are all daemon threads.即:当线程只剩下守护线程的时候,JVM就会退出.但是如果还有其他的任意一个用户线程还在,JVM就不会退出. 3. JNDI JNDI( Java Naming and Directory Interface ),是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个 API和一个服务供应接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。JNDI目前所支持的技术包括 LDAP、CORBA Common

总结代码的组织架构和阅读源码的方法

倾然丶 夕夏残阳落幕 提交于 2020-02-11 04:41:08
总结代码的组织架构和阅读源码的方法 一个良好的代码组织架构都是先组装各种结构体所需要的一些初始化的数据, 然后通过一个”事件“来驱动代码的执行;在代码执行过程中又是一堆数据结构的初始化、处理、初始化、处理... 然后通过这样的迭代方式开展流程化的处理;不要觉得你的代码没有流程,也不要觉得你的代码不是面向对象, 代码本身就是一种抽象,代码的执行路径本身就是一个流程; 因此,无论从大局,还是细节上来看,代码都是一个抽象的具象表现形式,也是流程化的具象表现形式; 代码的组织结构也是和上面讲的一样; 所以,看代码,要先了解大的流程,在了解大的流程结构后,然后对核心的流程节点进行细细研读; 所以,看源码,要开启两个编辑器:一个用来看代码组织数据初始化的地方,一个看代码执行动作的地方; 来源: https://www.cnblogs.com/big1987/p/9890671.html

c++ 面试整理

别说谁变了你拦得住时间么 提交于 2020-02-11 02:58:10
1. 继承方式 public   父类的访问级别不变 protected 父类的public成员在派生类编程protected,其余的不变 private 父类的所有成员变成private #include <iostream> using namespace std; class base { public: void printa() { cout <<"base"<< endl; } protected: void printhello() { cout <<"helo"<< endl; } private: void printnohello() { cout <<"no hello"<< endl; } }; class derived : public base { public: void printb() { printhello(); } // void printc() { printnohello(); } //printnohello是父类的私有函数,不可访问 }; int main() { base a; a.printa(); //a.printhello(); //printhello是类derived的protected函数,不可访问。 } 2. sizeof 和 strlen 的区别 sizeof 是一个操作符,strlen 是库函数。

C语言:指针的几种形式

╄→尐↘猪︶ㄣ 提交于 2020-02-11 02:57:58
字符串的两种形式: 1、字符数组 char name[32] = “zhangsan”; //只能在初始化时这样做 strcpy(name,”lisi”); //整体赋值只能通过strcpy name = “lisi”; //error,将一个常量字符串的地址(“lisi")赋值给常量指针(char* const name) 2、字符指针 char *name = “zhangsan”; //指针变量name指向了常量字符串的开始地址 char* name; //在使用野指针(未初始化的指针) scanf(“%s”,name); //error, strcpy(name,”lisi”); //error,如果name指向了常量的字符串,会崩掉。 如果name没有初始化,程序有可能会崩掉,也有可能会覆盖内存中的数据。 name = “lisi”; //ok,重新修改指针变量name的指向,即指向一个新的字符串地址。 1、const int* p和int const* p:两者意义是相同的。指向的内容是只读数据,不可以q改变;但是指向的地址可以改变。 2、int* const p:必须先对指针初始化,而且指向的地址是只读的,不可以再被改变;但是指向的内容可以改变。 3、const int* const p:既不可以改变指针指向的地址,也不可以改变指针指向的内容。 来源: https:/

select2初始化默认值

∥☆過路亽.° 提交于 2020-02-11 02:15:07
  2019年12月18日,更新了3年前写的这篇文章,新文章非常详细,大家可以去看一下 select2单选多选取值赋值与设置初始化默认值 -------------------------------以下是2016年写的 之前用select2初始化默认值使用了select2('val','1'),这样做没问题,但只能用在单选上,多选的话,即使将val后面的值改成数组['0', '2']这种形式也没用。 <script type="text/javascript"> $(document).ready(function() { var data = [{ id: 0, text: 'aaa' }, { id: 1, text: 'bbb' }, { id: 2, text: 'ccc' }]; $(".js-example").select2({ data: data, placeholder: "请选择啊" }); $(".js-example").select2('val','1') }); </script> <select class="js-example new-select" multiple="multiple"> </select> 如何初始化出多选呢,在 stackoverflow 找到了答案,那就是用$(".js-example").val(['0','2'])

如何创建(初始化)一个Git仓库?

主宰稳场 提交于 2020-02-11 01:45:54
目录 介绍 任务 目标 参考答案 介绍 本节挑战中,我们需要创建一个本地 Git 仓库。我们需要设置个人的 Git 信息,包括 username 和 email。另外需要对本地 Git 仓库进行初始化操作以及增加一些项目文件。 任务 设置 Git 信息; 完成本地 Git 仓库的初始化操作; 设置关联到远程仓库; 创建 README.md 文件并进行 commit(不需要 push 到远程仓库); 目标 本地 Git 仓库目录必须为 /home/shiyanlou/HelloGit/。 远程仓库地址固定为 git@shiyanlou.com/HelloGit.git,远程版本库名称为origin。 需要在代码目录 /home/shiyanlou/HelloGit/ 中创建 README.md 文件,文件的内容如下: Hello World 使用 git commit 提交 README.md 文件。 由于远程仓库 git@shiyanlou.com/HelloGit.git 并不存在,所以不需要 git push 推送到远程仓库。 参考答案 设置个人信息,以便于查看提交记录准确定位 author 和 email git config --global user.name '这里是青' git config --global user.email 'mantq@qq.com'

Java 类加载时机及初始化顺序

浪尽此生 提交于 2020-02-11 01:35:44
文章目录 类加载时机(5 种) 类初始化顺序 类加载时机(5 种) 虚拟机中以下 5 种情况会触发类的首次加载 遇到 new 、 getstatic 、 setstatic 、 invokestatic 字节码时 使用 java.lang.reflect 包的方法对类进行反射调用时 当加载一个类的时候,发现它的父类还未被加载,则先加载父类 虚拟机启动时,需要指定一个主类(带 main() 方法的类),虚拟机会先加载此类 JDK 1.7 动态语言支持, java.lang.invoke.MethodHandle 实例最后的解析结果是 REF_getStatic 、 REF_setStatic 、 REF_invokeStatic 的方法句柄时,会加载对应的类 类初始化顺序 父类 <clinit> 块中的代码 子类 <clinit> 块中的代码 父类 <init> 块中的代码 子类 <init> 块中的代码 clinit 块 包含静态块与静态变量 init 块 包含成员变量与构造器 来源: CSDN 作者: Billion.Lee 链接: https://blog.csdn.net/weixin_46221133/article/details/104221105