char函数

进程基本知识

£可爱£侵袭症+ 提交于 2020-02-04 02:01:18
一、 进程基本知识 1.1 进程概念 进程是程序执行和资源管理的最小单位,是程序动态执行的过程。 Linux下是通过进程控制块(PCB)来描述一个进程的,进程控制块包含了进程的描述信息、控制信息以及资源信息,它是进程的一个静态描述。在Linux中进程控制块中的每一项都是一个task_struct结构,是在include/linux/sched.h中定义的。 1.2 进程标识 在Linux中进程的主要标识有进程标识号(PID)以及父进程标识号(PPID)。PID唯一的标识一个进程。PPID、PID都是一个非零的正整数。获得当前进程的PID和PPID的系统调用分别为 1: #include <sys/types.h> 2: #include <unistd.h> 3: pid_t getpid(void); 4: pid_t getppid(void); 1.3 进程的各个状态 进程状态的宏定义 1: #define TASK_RUNNING 0 2: #define TASK_INTERRUPTIBLE 1 3: #define TASK_UNINTERRUPTIBLE 2 4: #define TASK_STOPPED 4 5: #define TASK_TRACED 8 6: /* in tsk->exit_state */ 7: #define EXIT_ZOMBIE 16 8

初始化和清除

99封情书 提交于 2020-02-04 00:14:47
文章目录 初始化和清除(1) 初始化和清除(2) 初始化和清除(3) 初始化和清除(4) 初始化和清除(5) 初始化和清除(6) 初始化和清除(7) 初始化和清除(8) 初始化和清除(9) 初始化和清除(1) java自动调用构造器以保证每个对象的初始化。 构造器方法的名字和类名一致。 代码示例: package initialization ; /** * @author vincient * @create 2020-01-20 9:52 AM */ class Rock { public Rock ( ) { System . out . print ( "Rock " ) ; } } public class SimpleConstructor { public static void main ( String [ ] args ) { for ( int i = 0 ; i < 10 ; i ++ ) { new Rock ( ) ; } } } //输出: //Rock Rock Rock Rock Rock Rock Rock Rock Rock Rock ⚠️注意:构造器的名字必须与类名完全匹配 4. 默认构造器:没有参数的构造器 5. 构造器方法也可以有参数 代码示例: package initialization ; /** * @author

字符串操作函数

匆匆过客 提交于 2020-02-04 00:09:26
1:查找函数 char *strchr(const char *str, int c)在参数str所指向的字符串中搜索,第一次出现字符C(一个无符号字符) 的位置。 成功:返回在字符串str中第一次出现字符C的位置 失败:返回NULL char *strstr(const char *haystack,const char *needle)在字符串haystack中查找第一次出现字符串needle 的位置。不包含终止符’\0’ 2:复制函数 char *strcpy(char *dest, const char *src)把src所指向的字符串复制到dest dest不够大会造成溢出 返回一个指向最终的目标字符串dest的指针 strncpy(p,p1,n) 3:链接函数 char *strcat(char *dest,const char *src)把src所指向的字符串追加到dest,所指向的字符串的结尾 返回dest的指针 strcat(p,p1,n); 4:比较函数 int strcmp(const char *strl, const char *str2)把str1所指向的字符串和str2所指的字符串进行比较 返回值=0 str1等于str2 strcmp(p,p1,n); 来源: CSDN 作者: weixin_43656926 链接: https://blog

Redis设计与实现——第一部分 数据结构与对象

笑着哭i 提交于 2020-02-03 22:46:28
第一部分 数据结构与对象 第2章 简单动态字符串 Redis自己创建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。在Redis里面,C字符串只会作为字符串字面量用在一些无须对字符串值进行修改的地方,比如打印日志什么。但是如果用在一个字符串变量,Redis就会使用SDS来表示字符串值,比如在Redis的数据库里面,包含字符串值的键值对在底层都是由SDS来实现的。 127.0.0.1:6379> set k1 hello OK 127.0.0.1:6379> get k1 "hello" 那么Redis将在数据库中创建一个新的键值对,其中键值对的键是一个字符串对象,对象的底层实现是一个保存着字符串"k1"的SDS。键值对的值也是一个字符串对象,对象的底层实现是一个保持着字符串"hello"的SDS。 如果客户端执行命令 127.0.0.1:6379> RPUSH fruits apple banana cherry (integer) 3 那么Redis将在数据库中创建一个新的键值对,其中键值对的键是一个字符串对象,对象底层实现是一个保存了字符串"fruits"的SDS。键值对的值是一个列表对象,列表对象包含三个字符串对象,这三个字符串对象分别由三个SDS实现。 除了用来保存数据库中的字符串值外

山东大学——数据结构实验全集

白昼怎懂夜的黑 提交于 2020-02-03 21:55:41
感悟数据结构的实验真的很重要,感觉实验做的好一般都能得高分,所以大家做完正式实验后尽量做一下补充实验有好处。时间和精力有限,我只是整理了正式实验的,好了上干货。 1.实验一 递归练习 1)要求: (我只是完善逻辑,并没有关于输入输出格式的代码。) 2)逻辑 以四个数为例:全排列数为24,只以一为开头的有6种 1.2.3.4为第一个。 1.2.4.3 1.3.2.4 1.3.4.2 1.4.3.2 1.4.2.3 每当长度等于4时就输出结果,递归地将位置交换 for (int i = start; i < end; ++i) { swap(list[start],list[i]); permutation(list,start+1,end); swap(list[start],list[i]); } 3)代码: //输出方法 void system(int list[],int end){ for (int i = 0; i < end ; ++i) { cout<<list[i]; if(i!=end-1){ cout<<","; } } cout<<endl; } //实现方法 void permutation(int list[],int start,int end){ if(start == end){ system(list,end); } else{ for (int i

Effective C++ 读书笔记(一)

半腔热情 提交于 2020-02-03 21:06:34
1 让自己习惯C++ 条款01:视C++为一个语言联邦 C++是多重范型编程语言,同时支持过程形式,面向对象形式,函数形式,泛型形式,元编程形式(什么是元编程?)的语言。 C++主要包括4部分:C, Object-Oriented C++, Template C++和STL。 条款02:尽量以const, enum, inline替换#define 1, 对于单纯变量最好以const 对象或enums 替换#defines. #define ASPECT_RATIO 1.653 const double ASPECT_RATION = 1.653; 常量定义式通常放在头文件中,若要在头文件内定义一个常量的char * -- based 字符串: const char * const autherName = “Scott Meyers”; Or const std::string autherName(“Scott Meyers”); Class专属常量: class GamePlayer{ Private: static const int NumTurns = 5; int scores[NumTures]; … }; Const int Gameplayer::NumTurns; class GamePlayer{ Private: static const int

getline()

时光怂恿深爱的人放手 提交于 2020-02-03 18:08:08
头文件及相关不同函数原型及使用 #include < iostream > //cin.getline(char * str, int size_t, char delim) char str [ 10 ] ; cin . getline ( str , 10 ) ; //传入字符数组首地址和字符数组长度 #include< string > //istream & getline(istream & is, string & str, char delim) string str ; getline ( cin , str ) ; //传入输入流对象,和字符串 来源: CSDN 作者: 陈&sl 链接: https://blog.csdn.net/qq_41985293/article/details/104158301

map映照容器

爷,独闯天下 提交于 2020-02-03 13:41:04
set和map都是泛型库对二叉树的一个泛化。 一、map的相关原理 map映照容器所处理的元素数据,与数据库中的具有键值的记录非常相似,由一个键值和其它若干个数据(映照数据组成),键值和映照数据之间,可建立一个数学上的映照关系。容器的数据结构是采用红黑树进行管理,元素值不允许重复,所使用的节点元素的比较函数,只对元素的键值进行比较,元素的各个数据项可通过键值检索。 数据构成如图所示: (一个pair对象) 如图所示为map容器的一个元素的数据组成,可通过pair封装成一个结构对象。map容器所要做的,就是将这个pair对象插入到红黑树中,完成一个元素的添加,同时,也要提供一个仅使用键值进行比较的函数对象,将它传递给红黑树。由此,就可以利用红黑树的操作,map元素数据插入到二叉树的正确位置,也可以根据键值进行元素的删除和检索。 map通过内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在std map内部所有的数据都是有序的。 二、map的应用 1、创建 (2)map() 利用默认的less<T>函数对象和内存分配器,创建一个没有任何元素的map对象。 map<char,int,greater<char> >m; //创建空map对象,元素的键值类型为char,元素的映照数据类型为int,键值的比较函数对象为greater<char>. (2

第八周作业

给你一囗甜甜゛ 提交于 2020-02-03 12:49:13
---恢复内容开始--- 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass3-2018/homework/3078 我在这个课程的目标是 学会并运用动态分布 这个作业在那个具体方面帮助我实现目标 了解指针 参考文献 C语言程序设计II 6-1 函数实现字符串逆序 (15 分) 本题要求实现一个字符串逆序的简单函数。 函数接口定义: void f( char *p ); 函数 f 对 p 指向的字符串进行逆序操作。要求函数 f 中不能定义任何数组,不能调用任何字符串处理函数。 裁判测试程序样例: #include <stdio.h> #define MAXS 20 void f( char *p ); void ReadString( char *s ); /* 由裁判实现,略去不表 */ int main() { char s[MAXS]; ReadString(s); f(s); printf("%s\n", s); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: Hello World! 输出样例: !dlroW olleH 1)实验代码 void f( char *p ) { int i=0,n=0,h,t; while(p

友元函数及友元类详解

一个人想着一个人 提交于 2020-02-03 10:58:18
在 C++ 中,一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来介绍一种例外情况——友元(friend)。借助友元(friend),可以使得其他类中的成员函数以及全局范围内的函数访问当前类的 private 成员。 友元函数 在当前类以外定义的、不属于当前类的函数也可以在类中声明,但要在前面加 friend 关键字,这样就构成了友元函数。 友元函数可以是不属于任何类的非成员函数,也可以是其他类的成员函数,友元函数可以访问当前类中的所有成员,包括 public、protected、private 属性的。 。 1) 将非成员函数声明为友元函数 # include <iostream> using namespace std ; class Student { public : Student ( char * name , int age , float score ) ; public : friend void show ( Student * pstu ) ; //将show()声明为友元函数 private : char * m_name ; int m_age ; float m_score ; } ; Student : :