C\C++学习笔记 1
C++记录1
C的头文件为math.h
C++的为 cmath
using编译指令 namespace 区分不同产品的函数。Mics::cout Linux::cout
cout << 即是位运算 也是流处理
存储位置,内存空间,存储单位为bit,每一位两个存储位,因此8位int存储2^7。
#define 预编译常量 const建议使用
结构存储不同类型, 指针将存储位置变量告诉计算机
结构体:
struct inflatable
{
char name[20];
std::string name;
float volume;
}
inflatable guests[2]=
{
{“Bambi“, 0.5},
{“Go", 0.9}
}
寄存器:
struct torgle_register
{
unsigned int SN:4; 四个bit
}
共用体 union: 可以存多个类型的变量,但一次只能存一个变量,其他变量丢失,用于节省内存。
C++记录2
指针:
指针是一个变量,存储值的地址,而非值本身。
&获得地址 0x40 0x44 相差4位 为int值,使用new 请求新的内存位置。
* &home = int; *用于解除引用
int home = 5
int * pt =&home
pt = &home pt为指向int的指针
指针被初始化时,初始化的是指针的地址,而没有为改指针的值分配地址,因此在创建指针时,指定值。 int *p=5
int *p = new int
*p =5
值被存在栈, new被存在堆。
delete p 释放指针指向的内存,而非指针本身。
数组等价于指针,
double *p3 = new double [10]
p3[0]=0.1
p3[1]=0.5
p3=p3+1 指针向后移动一位
cout << p3[0] 输出0.5
p3=p3-1 复位指针才能释放
delete [] p3
int p4[10] ={1,2}
int *p5 = p4 值为0
int *p6 = &p4[9] 值为9
C++记录3
字符串指针:
char f[10] = 'rose'
cout f
f为数组地址初始指针,输出时依次移动指针。""也被看做是内存地址。
char animal[20] = "bear"
const char *bird = "wear" 字符串默认地址
char *ps
cout animal ,bird 等效输入指针地址,依次读取指针内存。
ps = new char[strlen(animal)+1]
strcpy(ps,animal) 将字符串从一个位置复制到另一个位置。
cout (int *) animal (int *)ps 输出内存地址,而不是顺着指针出字符。
指针与结构体(与类相似):
struct inflatable
{
char name[20],
float age
}
inflatable *ps = new inflatable
ps->name=""
(*ps).age=10.0
创建指针复用池,通过临时指针记录存储位置,释放并重用内存:
char * getname()
{
char temp[20] = ""
char *pn = new char[strlen(temp)+1]
strcpy(pn, temp)
reture pn
方法结束时,声明创建的内存temp,自动释放。
}
char *name
name = getname()
delete [] name
name = getname()
delete [] name
C\C++学习笔记 1的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
- ucos实时操作系统学习笔记——任务间通信(消息)
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...
随机推荐
- vue同一页面中拥有两个表单时,验证问题
问题:如果vue的同一个页面拥有两个表单.验证第一个表单时没有通过就切换到第二个,那么第二个表单会出现验证错误的信息 我们可以通过为两个表单添加ref属性 之后在通过调用resetFields()方法 ...
- vuejs2+webpack2+vuxui2多页面架手脚,支持二级目录
const UglifyJsPlugin = require('uglifyjs-webpack-plugin') // 去console插件 const CompressionWebpackPlug ...
- C#、Java中的一些小知识点总结(持续更新......)
前言:在项目中,有时候一些小的知识,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小知识点,以备用,并持续更新...... 1.禁用DataGridV ...
- 「2017 山东一轮集训 Day5」苹果树
「2017 山东一轮集训 Day5」苹果树 \(n\leq 40\) 折半搜索+矩阵树定理. 没有想到折半搜索. 首先我们先枚举\(k\)个好点,我们让它们一定没有用的.要满足这个条件就要使它只能和坏 ...
- docker: read tcp 192.168.7.235:36512->54.230.212.9:443: read: connection reset by peer.
在学习rancher的时候去下载rancher/agent镜像的时候,出现报错:docker: read tcp 192.168.7.235:36512->54.230.212.9:443: r ...
- linux中启动 java -jar 运行程序
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉.以 ...
- HTTP请求行、请求头、请求体详解
HTTP 请求头各参数具体含义 Header 解释 示例Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/htmlAccept-Charset 浏览器可以接 ...
- 深度学习框架PyTorch一书的学习-第六章-实战指南
参考:https://github.com/chenyuntc/pytorch-book/tree/v1.0/chapter6-实战指南 希望大家直接到上面的网址去查看代码,下面是本人的笔记 将上面地 ...
- Docker安装MySQL并配置远程访问
1.docker search mysql 查看mysql版本 2.docker pull mysql 要选择starts最高的那个name 进行下载 3.docker images 查看下载好的镜像 ...
- springboot 创建非web项目及数据源简单使用
项目组马上要使用springboot来重构程序,首先要对几个比较小的非web项目重构,所以新手入门,简单做了个小例子 代码结构如下: dao层 package com.mysping.myboot00 ...