在这一次中来学习一下C语言的内存布局,了解它之后就可以解释为啥在用malloc()申请的内存之后需要用memset()来对内存进行一下初始化了,首先来了解一下物理内存与虚拟内存: 物理内存:通过物理内存条获得的内存空间. 虚拟内存:它是一种内存管理技术,能够均处一部分硬盘空间充当内存使用. 而在C当中的内存布局如下: 其中最顶部的是内核空间: 除这个内核空间之外的则是用户进程的内存空间: 下面看一下有哪些内容,首先是栈区: 接着是内存映射段: 接着就是堆区了: 接着再就是数据段: 最后一个则是文…
关于NDK这个分类在N年前就已经创建了,但是一直木有系统的记录其学习过程,当然也没真正学会NDK的技术真谛,所以一直也是自己的一个遗憾,而如今对于Android程序员的要求也是越来越高,对于NDK也是应对高级职称时被很多公司所看中的,如今像热修复之类的也或多或少会用到一个NDK的东东,所以今天起下决定要来弥补这一门空缺的技术,而且是从浅到深一点点来记录,等坚持到彻底掌握之后再回过头来我想这些点滴也是一笔非常非常宝贵的财富,一定要坚持!!!! 为了学得更加扎实,语言关C.C++必须得过,说实话前几…
继续来复习C++,比较枯燥,但是这是扎实掌握NDK开发的必经之路,不容小觑. 容器: 容器,就是用来存放东西的盒子. 常用的数据结构包括:数组array, 链表list, 树tree, 栈stack, 队列queue, 散列表hash table, 集合set.映射表map 等等.容器便是容纳这些数据结构的.这些数据结构分为序列式与关联式两种,容器也分为序列式容器和关联式容器. STL 标准模板库,核心包括容器.算法.迭代器. 序列式容器/顺序容器: 元素排列次序与元素无关,由元素添加到容器的顺…
关于面向对象编程对于一个java程序员那是再熟悉不过了,不过对于C++而言相对java还是有很多不同点的,所以全面复习一下. 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计.类是 C++ 的核心特性,用户定义的类型. 咱们来新建一个头文件来定义一下类: 其访问修饰符具体含义如下: private:可以被该类中的函数.友元函数访问. 不能被任何其他访问,该类的对象也不能访问. protected:可以被该类中的函数.子类的函数.友元函数访问. 但不能被该类的对象访…
线程 线程,有时被称为轻量进程,是程序执行的最小单元. C++11线程: 我们知道平常谈C++线程相关的东东基本都是基于之后要学习的posix相关的,其实在C++11有自己新式创建线程的方法,所以先来看一下,看在C++11中如何来创建一个线的,如下: 比较简单,直接过~ POSIX线程[常用]:POSIX 可移植操作系统接口,标准定义了操作系统应该为应用程序提供的接口标准.相比C++ 11的线程这种方式就要麻烦一些,下面来用看一下它的创建方式: 下面来使用一下: 然后第三个参数则为线程运行的函数…
自己实现sprintf功能: 关于C中的系统函数sprintf在上次[https://www.cnblogs.com/webor2006/p/7545627.html]学习中已经用到过了,这里再来回顾一下: 而为了巩固学习咱们可以用之前所学的可变参数[https://www.cnblogs.com/webor2006/p/9499213.html].指针等知识实现类似的功能,自己实现一个只考虑传整型参数的情况就成,那如何来实现呢?下面开始: 如果遇到了“%”,则需要判断一下它的下一位字符是否是“…
指针: 指针乃C.C++的灵魂之所在,所以有必要好好的复习复习.什么是指针?一句话来概括:“指针是一个变量,它的值是一个地址.”,其中指针变量的声明有如下三种形式: 其中第一种是被推荐的写法. 其中还需要注意:在声明指针时如果未赋值,则是一个野指针[也就是有可能指向了一个不能被使用的地址从而造成程序的错误],所以在声明时一定要赋值,如下: 那如果想取变量的地址则可以用“&”符,如下: 那如果想获取指针指向变量地址的值则需要用“*”解引用的操作,如下: 下面来看一下p指针占用了几个字节: 需要注意…
SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 3)以"/*"开始,以"*/"结束的所有内容都是注释,可用于注释多行 二.数据库操作 1.创建数据库 create database db_name; db_name命名规则: 1)名称可由任意字母,数字,"_"或"$"组成,可…
Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习Android开发做些准备. Java和C++的语法有很多类似之处,学习中重点关注的是差异部分.   数据类型 Java支持的基本数据类型有: 1) 整数:byte/short/int/long 2) 浮点:float/double 3) 字符:char 4) 布尔:boolean   除此之外,通过类…
C语言基础复习总结 大一学的C++,不过后来一直没用,大多还给老师了,最近看传智李明杰老师的ios课程的C语言入门部分,用了一周,每晚上看大概两小时左右,效果真是顶一学期的课,也许是因为有开发经验吧,废话少说,直接把总结贴出来了~ #include <stdio.h> int main(int argc, const char * argv[]) { printf("Hello, World!\n"); return 0; } #include是预处理指令,在编译前把尖括号…