char函数

指针、数组和结构

只愿长相守 提交于 2019-11-30 06:37:07
指针 对于类型T,T*就是“到T的指针类型”,也就是说,一个类型为T*的变量保存一个类型T的对象地址。例如: char c = 'a'; char *p = &c;  //p保存着c的地址 到数组和函数的指针有更复杂的表示 int *pi;  //到int的指针 char ** char;//到字符的指针的指针 int * ap[15]; //到15个数组的指针 int (*fq)(*char); //到函数的指针,函数以char为参数,返回一个int int *q(*char); //有一个char类型的函数,返回一个到Int的指针 对指针的操作属于间接操作,间接运算符属于(前缀的)一元*。 来源: https://www.cnblogs.com/yanying-fly/p/11570220.html

软件工程第二次作业

对着背影说爱祢 提交于 2019-11-30 05:55:48
GIT地址 https://github.com/ppppppig/AchaoCalculator GIT用户名 ppppppig 学号后五位 61123 博客地址 https://www.cnblogs.com/ppppppig/ 作业链接 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation/homework/7590 作业正文 1.环境的配置 按照part1的具体步骤完成了作业所需的环境的配置 (1)git的下载 (2)github的注册以及阿超计算机的复制 (3)编译器的下载:根据要求下载了所需要的编译器visual studio 2017 在第一个作业要求中由于在作业链接中都有详细的步骤就基本没有遇到什么问题。 2.代码的编译及运行 (1)代码的要求 阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。 作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。他把老师的话翻译一下,就形成了这个软件的需求: 程序接收一个 命令行参数 n ,然后随机产生 n 道加减乘除(分别使用符号 +-*/ 来表示)练习题,每个数字在

数据结构实现(顺序表)

天涯浪子 提交于 2019-11-30 05:24:57
#include<stdio.h> //数据结构之顺序表 /*原理:地址连续的存储单元依此存储线性表的元素 基本运算:插入 删除 查找 排序 要点:结构的定义很重要,所有的操作都是建立在数据结构之上的。 */ /*顺序表结构体定义:*/ //def数据最大长度 #define Maxsize 100 //定义数据元素类型,可以适应更多类型 typedef int Datatype; //定义顺序表类型,只是定义了一个类型,而不是变量 typedef struct SeqList//此处的SeqList可以不要 { Datatype data[Maxsize]; int last; }SeqList; SeqList InitSlist() {//初始化顺序表 SeqList L;//通过函数调用来申请空间,创建变量 L.last = -1;//表示表空 return L; } void Creat_Slist(SeqList &L) {//创建顺序表,给data初步赋值 int flag;//标示数据规模 scanf("%d",&flag); for(int i=0;i<flag;i++) { scanf("%d",&L.data[i]); L.last++; } } int Getlength(SeqList &L) { return (L.last + 1); } int

c++中try catch的用法

梦想与她 提交于 2019-11-30 04:43:02
  在c++中,可以直接抛出异常之后自己进行捕捉处理,如:(这样就可以在任何自己得到不想要的结果的时候进行中断,比如在进行数据库事务操作的时候,如果某一个语句返回SQL_ERROR则直接抛出异常,在catch块中进行事务回滚(回滚怎么理解?))。 #include <iostream> #include <exception> using namespace std; int main () { try { throw 1; throw "error"; } catch(char *str) { cout << str << endl; } catch(int i) { cout << i << endl; } } 也可以自己定义异常类来进行处理: #include <iostream> #include <exception> using namespace std; //可以自己定义Exception class myexception: public exception { virtual const char* what() const throw() { return "My exception happened"; } }myex; int main () { try { if(true) //如果,则抛出异常; throw myex; } catch

设计模式4-装饰器模式Decorator

不羁岁月 提交于 2019-11-30 04:29:14
装饰器模式属于"单一职责"模式. 在软件组件的设计中,如果责任划分不清晰,使用继承得到的结果,往往是随着需求的变化,子类 急剧膨胀 ,同时充斥着 重复代码 ,这是代码的bad smell. 典型的单一职责模式:Decorator,Bridge.这两种模式表现出了很强的"单一职责模式的味道".本文中我们讨论Decorator模式. 动机 在某些情况下,我们可能会"过度的使用继承来扩展对象的功能",由于继承为类型引入了静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀. 如何使 对象功能的扩展 能够根据需要动态实现,同时避免 扩展功能的增多 带来的子类膨胀问题?从而使得任何 功能扩展变化 所带来的影响最低. 实例 考虑设计一个IO的库,主要是一些流操作.可以首先定义一个基类Stream, //业务操作 class Stream{ public: virtual char Read(int number)=0; virtual void Seek(int postion)=0; virtual void Write (char data)=0; ~Stream() { } }; 基于Stream可以定义文件流,网络流,内存流等派生类,然后重写实现基类的成员函数. class FileStream:public

Day55 Django之模型层

谁都会走 提交于 2019-11-30 03:38:20
一.Django ORM中的常用字段和参数 常用字段 AuotoField int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 InterField 一个整数类型,范围在 -2147483648 to 2147483647。(一般不用它来存手机号(位数也不够),直接用字符串存) CharField 字符类型,必须提供max_length参数, max_length表示字符长度。 这里需要知道的是Django中的CharField对应的MySQL数据库中的varchar类型,没有设置对应char类型的字段,但是Django允许我们自定义新的字段,下面我来自定义对应于数据库的char类型 自定义字段在实际项目应用中可能会经常用到,这里需要对他留个印象! from django.db import models # Create your models here. #Django中没有对应的char类型字段,但是我们可以自己创建 class FixCharField(models.Field): ''' 自定义的char类型的字段类 ''' def __init__(self,max_length,*args,**kwargs): self.max_length=max_length super().__init_

Std C Library

陌路散爱 提交于 2019-11-30 03:37:19
//*****************************************// // STD C 库 // //*****************************************// <assert.h> Macro: void assert(int expression) //在debug时使用,诊断功能 它可用于验证程序做出的假设,并在假设为假时输出诊断消息。 --------------------------------------------------- 宏定义如下: #define assert(ignore) ((void)0) <limit.h> Macro: CHAR_BIT 8 定义一个字节的比特数。 SCHAR_MIN -128 定义一个有符号字符的最小值。 SCHAR_MAX 127 定义一个有符号字符的最大值。 UCHAR_MAX 255 定义一个无符号字符的最大值。 CHAR_MIN 0 定义类型 char 的最小值,如果 char 表示负值,则它的值等于 SCHAR_MIN,否则等于 0。 CHAR_MAX 127 定义类型 char 的最大值,如果 char 表示负值,则它的值等于 SCHAR_MAX,否则等于 UCHAR_MAX。 MB_LEN_MAX 1 定义多字节字符中的最大字节数。 SHRT_MIN -32768

Django ORM中常用字段和参数

馋奶兔 提交于 2019-11-30 03:24:56
Django ORM中常用字段和参数 说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时。 id字段是自动添加的,如果你想要指定自定义主键,只需在其中一个字段中指定 primary_key=True 即可。如果Django发现你已经明确地设置了Field.primary_key,它将不会添加自动ID列。 本示例中的CREATE TABLE SQL使用PostgreSQL语法进行格式化,但值得注意的是,Django会根据配置文件中指定的数据库后端类型来生成相应的SQL语句。 Django支持MySQL5.5及更高版本。 Django ORM 常用字段和参数 常用字段 AutoField int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 IntegerField 一个整数类型,范围在 -2147483648 to 2147483647。(一般不用它来存手机号(位数也不够),直接用字符串存,) CharField 字符类型,必须提供max_length参数, max_length表示字符长度。

Bran的内核开发教程(bkerndev)-04 创建main函数和链接C文件

故事扮演 提交于 2019-11-30 03:19:45
创建main函数和链接C文件   一般C语言使用main()函数作为程序的入口点, 为了符合我们平时的编程习惯, 这里我们也使用main()函数作为C代码的入口点, 并在"start.asm"文件中添加中断服务程序来调用C函数。   在这一节教程,我们将尝试创建一个"main.c"文件和一个包含常用函数原型的头文件"system.h"。"main.c"中包含mian()函数, 它将作为你C代码的入口。在内核开发中, 我们一般不从main()函数返回。多数操作系统在main中初始化内核和子程序、加载shell, 然后main函数会进入空循环中。在多任务系统中, 当没有其他需要运行的任务时, 将一直执行这个空循环。下面是"main.c"文件的示例,其中包含了最基本的main()函数和一些我们以后会用到的函数体。 main.c #include <system.h> /* 你将要自己完成这些代码 */ unsigned char *memcpy(unsigned char *dest, const unsigned char *src, int count) { /* 在此处添加代码, 将'src'中count字节的数据复制到'dest'中, * 最后返回'dest' */ } unsigned char *memset(unsigned char *dest, unsigned

MySQL数据类型详解

时光总嘲笑我的痴心妄想 提交于 2019-11-30 02:58:01
整型 先从最基本的数据类型整型说起,首先用一张表格归纳一下: 数据类型 字节数 带符号最小值 带符号最大值 不带符号最小值 不带符号最大值 TINYINT 1 -128 127 0 255 SMALLINT 2 -32768 32767 0 65535 MEDIUMINT 3 -8388608 8388607 0 16777215 INT 4 -2147483648 2147483647 0 4294967295 BIGINT 8 -9223372036854775808 9223372036854775807 0 18446744073709551616 即使是带符号的BIGINT,其实也已经是一个天文数字了,什么概念,9223372036854775807我们随便举下例子: 以byte为例可以表示8589934592GB-->8388608TB-->8192PB 以毫秒为例可以表示292471208年 所以从实际开发的角度,我们 一定要为合适的列选取合适的数据类型 ,即到底用不用得到这种数据类型?举个例子: 一个枚举字段明明只有0和1两个枚举值,选用TINYINT就足够了,但在开发场景下却使用了BIGINT,这就造成了资源浪费 简单计算一下,假使该数据表中有100W数据,那么总共浪费了700W字节也就是6.7M左右,如果更多的表这么做了,那么浪费的更多 要知道,