C/C++
墨飏韶年
leetcode:https://leetcode-cn.com/problemset/all/
展开
-
1. 两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]/** * Note: The returned array must be malloced, ass...原创 2018-06-21 15:28:47 · 140 阅读 · 0 评论 -
在Windows命令行中编译运行C/C++程序
此处运行环境是在Windos下,运行cmd命令进入DOS界面现在有一段简单C++代码(文件名为 demo.cpp),用于计算a*b的值#include<iostream>using namespace std;int main(){ int a,b; while(cin>>a>>b){ cout<<a&l...原创 2018-10-17 16:52:09 · 9078 阅读 · 1 评论 -
dll动态链接库(1)
1、库类型动态链接库:dll类型,静态链接库:lib类型;2、动态库简介:动态链接库可以看成是一种仓库,一种资源的集合:函数,变量,类,资源……都可以由动态链接库来导出。3、动态库与静态库的区别:a、静态库中的代码会直接塞到EXE中,而动态库则可以被EXE动态的加载或卸载;b、静态库中不能再包含其他的动态或静态库,而动态库则可以。4、实现方式:动态库可以被多种语言来实现,只要遵循...转载 2018-10-17 17:01:36 · 172 阅读 · 0 评论 -
dll动态链接库(2)---入口函数DllMain
1、动态库导出函数的查看:使用Vc++自带的Depends工具进行查看,但是只能看到函数的名字,具体的函数参数及返回值看不到,所以要把动态库导出函数声明的头文件(.h文件)打包给<<开发者>> 。2、新建DLL工程:大家在新建工程向导过程中,不要选择 “使用MFC” 选项,如果选上的话,会把DLL变为MFC规则DLL,就是我们上节课讲的第二种动态链接库。3、DLL程...转载 2018-10-17 17:03:15 · 2033 阅读 · 0 评论 -
C++类 & 对象详解
到目前为止,我们已经对 C++ 的类和对象有了基本的了解。下面的列表中还列出了其他一些 C++ 类和对象相关的概念,可以点击相应的链接进行学习。概念 描述 类成员函数 类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。 类访问修饰符 类成员可以被定义为 public、private 或 protected。默认情况下是定义为 priva...原创 2018-10-22 17:33:48 · 414 阅读 · 0 评论 -
dllMain函数的作用
1 DLLMain()函数的功能Windows在加载DLL的时候,需要一个入口函数,就如同控制台或DOS程序需要main函数、Win32程序需要WinMain函数一样。根据编写规范,Windows必须查找并执行DLL里的DllMain函数作为加载DLL的依据,它使得DLL得以保留在内存里。这个函数并不属于导出函数,而是DLL的内部函数。这意味着不能直接在应用工程中引用DllMain函数,Dll...转载 2018-10-23 16:29:33 · 2263 阅读 · 0 评论 -
C 原地交换两个变量的值
第一种方法,大家会借助第三个变量来实现:如:tmp=A;A=B;B=tmp;这种方法需要借助第三变量来实现;第二种方法是利用加减法实现两个变量的交换:如:A=A+B;B=A-B;A=A-B;但是 如果 A+B 超出 A的范围 ,会引起溢出。第三种方法是得用位异或运算来实现,也是效率最高的一种,在大量数据交换的时候,效率明显优于前两种方法:如:A=A^B;B=A^B;A=...原创 2018-11-07 17:27:43 · 456 阅读 · 0 评论 -
C的数组长度
c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数)#include<stdio.h>int main(){ int a[] = {12,45,36,5,6}; int length = sizeof(a)/sizeof(a[0]); printf("%d\n",length);} length的实际上长度就是数组占内存总空间,除以单个元素占内...原创 2018-11-05 10:10:25 · 9935 阅读 · 0 评论 -
assert()函数用法总结
assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序...原创 2018-11-12 15:06:48 · 175 阅读 · 0 评论 -
开灯问题
描述有 n 盏灯,编号为 1~n,第 1 个人把所有灯打开,第 2 个人按下所有编号为 2 的倍数的开关(这些灯将被关掉),第 3 个人按下所有编号为 3 的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共有 k 个人,问最后有哪些灯开着?输入:n 和 k,输出开着的灯编号。k≤n≤1000输入输入一组数据:n 和 k输出输出开着的灯编号样例输入7 ...原创 2019-03-04 19:21:18 · 270 阅读 · 0 评论 -
【C++学习笔记】一、如何使用Visual Studio2015进行C++项目创建
C++学习常用的编译环境是Visual Studio系列和GCC系列,其中VS是Win下的编译器,GCC有Win、Linux和UNIX版本,二者皆可以从网上下载到,GCC是最接近C++标准的,后续有尝试的价值,作为初学者本文先从VS系列进行学习。本文内容转载自:https://www.cnblogs.com/lixuejian/p/9693744.html打开Visual Studio 2...转载 2019-03-11 21:00:20 · 950 阅读 · 0 评论 -
C++ 结构体
C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:Title :标题 Author :作者 Subject :类目 Book ID :书的 ID定义结构为了定义结构,您必须使用 struct 语句。str...原创 2018-10-22 14:21:19 · 304 阅读 · 0 评论 -
C++的函数的传值调用、指针调用、引用调用的联系区别
当调用函数时,有两种向函数传递参数的方式:调用类型 描述 传值调用 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数对实际参数没有影响。 指针调用 该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 引用调用 该方法把参数的引用复制给形式参数。在函数内,该引用用...原创 2018-10-22 14:06:39 · 1699 阅读 · 0 评论 -
C++ assert.h头文件
NVIDIA面试笔试题之一:assert.h是c标准库的一个头文件,该头文件的主要目的就是提供一个assert的宏定义。assert只是对所给的表达式求值,就像if判断语句中一样,然后如果该值为真则正常运行,否则报错,并调用abort(),产生异常中断,exit出来。该宏可以屏蔽掉,只需在包含assert.h之前#define NDEBUG,想开再#undef。从这里可以看出预处理带来...原创 2018-10-17 09:44:12 · 3125 阅读 · 0 评论 -
C和指针学习
C和指针学习最后更新时间:2012.12.3原则:尽量短小精悍,实用,需要扩充阅读都是以链接形式出现注意:本文主要是针对Unix环境下的C目 录一.编译与链接二.特殊字符三.数据类型四.修饰符五.运算符六.控制语句七.函数八.指针九.数组十.字符串十一.结构十二.union联合十三.typedef声明十四.预处理器十五.输入输出十六.文件十七.内存十八.异常十九.链表二十.树正 文一.编译与链接1...转载 2018-07-11 10:11:16 · 188 阅读 · 0 评论 -
C语言中处理字符串的函数
在C语言中有许多字符串处理函数,在写程序的时候常常想不起来或则不了解区别,今天就花点时间将这些函数做个总结,以便以后查找使用。一、输入函数scanf 与 scanf_s 函数char buf[10] = { 0 };scanf("%s", buf);//输入:tttt3printf("buf = %s\n", buf);//结果:buf = tttt3char buf1[10] ...原创 2018-07-26 17:30:04 · 508 阅读 · 0 评论 -
Dev C++的下载安装
1. Dev-C++ 的下载地址:http://sourceforge.net/projects/orwelldevcpp/?source=directory2.下载完成后,就像安装其他软件一样,点击安装包,出现如下图,语言先默认选择English,初次安装完成后会选择中文简体的选项设置。点ok!3.点I agree4.接下来,默认点击next,下一步。5.选择安装路径,之后点击i...原创 2018-07-21 22:41:50 · 26228 阅读 · 5 评论 -
Python调用C语言
Python中的ctypes模块可能是Python调用C方法中最简单的一种。ctypes模块提供了和C语言兼容的数据类型和函数来加载dll文件,因此在调用时不需对源文件做任何的修改。也正是如此奠定了这种方法的简单性。示例如下实现两数求和的C代码,保存为add.c //sample C file to add 2 numbers - int and floats#include...原创 2018-07-30 13:54:22 · 374 阅读 · 0 评论 -
C语言字符串操作总结大全(超详细)
1)字符串操作 strcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat(p, p1) 附加字符串strncat(p, p1, n) 附加指定长度字符串strlen(p) 取字符串长度strcmp(p, p1) 比较字符串strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串strchr(p,...原创 2018-08-06 10:03:10 · 1401 阅读 · 0 评论 -
C++ using namespace std 详解
个人分类: 编程基础 转载:http://www.cnblogs.com/autocrat/archive/2010/05/05/1727630.htmlC++ using namespace std 详解 所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。一 :<iostream>和<...转载 2018-08-27 09:55:13 · 353 阅读 · 0 评论 -
c语言中“#if 0 / #if 1 ... #endif”的作用
原帖地址:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=2028608&bbs_page_no=1005&bbs_id=99991.“#if 0/#if 1 ... #endif”的作用我们知道,C标准不提供C++里的“//”这样的单行风格注释而只提供“/* */”这样的块注释功能,我们通常使用它写代码中说明性的注释文字...转载 2018-08-27 16:07:26 · 191 阅读 · 0 评论 -
c 语言结构体struct的三种定义方式 及 typedef
struct 结构体名{ 成员列表; .....}结构体变量;结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三种形式,分别介绍如下: 1) 先定义结构体类型,再定义结构体类型变量:struct stu / *定义学生结构体类型* /{ ...原创 2018-09-11 16:17:58 · 1071 阅读 · 0 评论 -
PSTR、LPSTR、PCSTR、LPCSTR、LPWSTR、PWSTR、PCWSTR、LPCWSTR、LPCTSTR
下面做下简单总结 typedef char CHAR;typedef wchar_t WCHAR;#define CONST const typedef CHAR* PCHAR,*PCH,*LPCH,*NPSTR,*PSTR,*LPSTR;typedef CONST CHAR* PCCH,*LPCCH,*PCSTR,*LPCSTR; typedef WCHA...原创 2018-10-18 16:08:30 · 708 阅读 · 0 评论 -
Visual Studio 2013正式版下载(附直接链接汇总)
微软已经向MSDN订阅用户提供了Visual Studio 2013正式版镜像下载,不过非MSDN用户可以在微软的Visual Studio 2013官方网站上下载到正式版镜像(通过下载专业版本,已验证与MSDN版本一致)。下面为大家整理一下个版本下载地址。Microsoft Visual Studio Ultimate 2013(简体中文旗舰版)文件名: cn_visual_studio...原创 2018-10-16 13:43:50 · 3814 阅读 · 2 评论 -
【C++学习笔记】二、对于C++语法新手常犯的错误
从python到C++,表示需要注意的习惯性细节还是蛮多的,作为一个不看就忘星人,还是决定老老实实把一个个易错点记录下来,也再一次加深印象。首先看个样例,来自谭浩强老师的《C++程序设计第3版》,第一章习题9:#include <iostream>using namespace std;int main(){ int add(int x, int y);...原创 2019-03-11 21:19:45 · 168 阅读 · 0 评论