C/C++练级
文章平均质量分 55
彼岸的饭碗
我是面瘫 我还爱吃小熊饼干
展开
-
unsigned与signed之大白话
闲谈有符号与无符号,顾名思义,即有负号或无负号,unsigned即可定义无符号变量,即变量不会出现小于0的值,0-1此时会从上限值往下排列,因此我们看到了许多游戏中出现的一系列bug。为了直观的看到他们的不同,我们直接上两盘小白代码#include "stdio.h"#include "iostream"#define ull signed intusing namespace std;int main(){ int n=10; ull p=5; while(n&g原创 2021-02-04 11:27:02 · 240 阅读 · 0 评论 -
iomanip头文件在实战中的作用
iomanip全称为IO Manipulators,意思是输入输出操纵器。iomanip头文件中一共有400余行代码,极大的题高了输入输出格式变换的便捷程度。但是在写代码解决的问题的过程中,鄙人总结了它一些常见用途。它的作用1.十进制向其他进制的转化这里我们仅仅举16进制的例子,如果要转化为其他进制只需要将hex更换即可#include "iostream"#include "iomanip"using namespace std;int main(){ //使用cout <原创 2021-02-02 21:09:15 · 10936 阅读 · 3 评论 -
Unable to start debugging. Unexpected GDB output from command “-environment -cd xxx“ No such file or
真心感谢这一篇文章,这个问题让我抓狂了一下午,这个故事告诉我们,生活中要充满英文,we should use english to deal with all thing about computer, don’t try character.**代码已经可以运行成功但是调试会报错最后发现是因为路径中有中文...转载 2021-02-02 18:44:21 · 1495 阅读 · 4 评论 -
C语言中*号的含义
两数相乘int x = 2;int y = 3;int z;z = x * y; //z的值为6定义指针变量int * p;//定义了一个名字叫做p的变量,int *表示p只能存放int 变量的地址//注意p是变量名,int * 是整型的指针类型解引用取出该指针指向地址的内容,因为指针变量本身是一个存放地址的变量,解引用是返回内存地址中对应的对象。int i = 5;int *p ;p = &i; //指针变量p存放的是整型变量i的地址printf(".原创 2021-02-01 16:51:44 · 15303 阅读 · 0 评论 -
HashMap、Hashtable、ConcurrentHashMap的原理与区别
HashTable底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化初始size为11,扩容:newsize = olesize*2+1计算index的方法:index = (hash & 0x7FFFFFFF) % tab.lengthHashMap底层数组+链表实现,可以存储null键和null值,线程不安全初始size为16,扩容:newsize转载 2021-01-22 15:28:08 · 124 阅读 · 0 评论 -
常用字符串函数总结---2
ANSI C库中有20多个用于处理字符串的函数,下面是一些常用的。char *strcpy(char *restrict s1,const char *restrict s2)该函数把s2指向的字符串(包括空字符)拷贝至s1指向的位置,返回值是s1。char *strncpy(char *restrict s1,const char *restrict s2, size n);该函数把s2指向的字符串拷贝至s1指向的位置,拷贝的字符数不超过n,他的返回值是s1.该函数不会拷贝空字符后面的字符原创 2021-01-16 09:35:38 · 129 阅读 · 0 评论 -
常用字符串函数总结---1
/*****************************************************************************************************/常用字符串函数如下述脑图所述,若要了解string.h系列函数的完整列表,请查阅“新增C99和C11的标准ANSI C库”/*****************************************************************************************原创 2021-01-15 16:45:07 · 169 阅读 · 0 评论 -
字符串的输出
三个常用标准库函数关于puts()函数#include "stdio.h"#define DEF "I am a #define string"int main(){ char str1[80]="an array was initialized to me"; const char *str2= "a pointer was initialized to me"; puts("I am an argument to puts()."); puts(DEF); puts(str1);原创 2021-01-15 14:41:14 · 4299 阅读 · 0 评论 -
字符串的输入
字符串输入1.分配空间假如你身边出现了这样的情况char *name;scanf("%s",name);这样的代码可能会通过编译,但是在读入name的时候,name可能会擦写掉程序中的数据,这是因为该参数是一个未初始化的指针,name可能会指向任何地方。大多数程序员都会认为出现这种情况很搞笑,但这仅限于评价别人的程序时。最简单的方法是,在声明的时候指明数组的大小char name[81];2.可怜的gets()函数说起读取字符串,很多人都会想到scanf("%s",&sssss原创 2021-01-15 13:51:16 · 871 阅读 · 0 评论 -
字符串与指针的爱恨情仇
表示字符串和字符串I/O字符串是以空字符’\0’结尾的char类型数组,字符串在我们的编程生活中特别常用,因此C提供了许多专门用于处理字符串的函数。接下来我们将从字符串的I/O开始探讨。#include "stdio.h"#define MSG "I am a symbolioc string constant" //1.字符串常量#define MAXLENGTH 81int main(){ char words[MAXLENGTH]="I am a string in an array原创 2021-01-15 13:50:53 · 134 阅读 · 1 评论 -
数组和指针———指针和多维数组
为什么要使用指针指针的值是它所指向对象的地址。地址的表示方式依赖于计算机内部的硬件。许多计算机都是按照字节编址的,意思时内存中的每一个字节都按顺序编号,这里,一个较大的地址通常是该对象的第一个字节的地址。因此,使用指针会更加的有效率,能够很好的处理数组,数组表示法其实是在变相的使用指针。标题#include "stdio.h"int main(){ int data[4][2] ={ {2,4}, {6,8}, {1,3}, {10,11}}; return 520;原创 2021-01-14 14:59:54 · 174 阅读 · 0 评论 -
数组和指针——数组
数组什么是数组?数组由数据类型相同的一系列元素组成。需要使用数组时,通过声明数组告诉编译器数组中内含多少元素和这些元素的类型。编译器根据这些信息正确地创建数组。普通变量可以使用的类型,数组元素都可以用。考虑下面的数组声明:/* 一些数组声明 */int main(void){ float one[365]; //内含365个float类型元素的数组 char code[12]; //内含12个char类型的数组 int two[50];原创 2021-01-14 14:10:30 · 117 阅读 · 1 评论 -
当用户输入的内容不是程序员期待的内容怎么办?
针对这个问题,其实很好处理,但是多多少少也需要用户的配合,AS we all know, 任何程序都不可能是绝对完美的,废话不多说直接上代码。#include "stdio.h"int main(){ int temp; printf("\nplease input the value of temp(int):"); printf("\n 求求您啦,输入个正常的整数把!"); scanf("%d",&temp); /* **** ** **原创 2021-01-14 13:13:21 · 147 阅读 · 0 评论 -
指针和多维数组
@[TOC]指针和多维数组了解多维数组之前我们要做什么?指针和多维数组有什么关系?为什么要了解它们的关系?处理多维数组的函数要用到指针,所以在使用这种函数之前,先要更深入地学习指针。至于第1个问题,我们通过几个示例来回答。为简化讨论,我们使用较小的数组。假设有下面的声明:int zippo[4][2]; /内含int数组的数组/然后数组名zippo是该数组首元素的地址。在本例中,zippo 的首元素是一一个内含两个int值的数组,所以zippo是这个内含两个int值的数组的地址。下面,我们从指原创 2021-01-14 11:37:21 · 147 阅读 · 0 评论