Show a pause in VS

How to show a pause in command line in Visual Studio, I figure out 3 kinds of solution like below showing. Solution 1: system(“pause”); Solution 2: getchar(); (Need studio.h in include line.) Solution 3: Set a option of your project, Your project/Property Pages/Linker/System/SubSystem –> Console(/SUBSYSTEM:CONSOLE) After above setting you can …

Error C4996 under Visual Studio 2015

Error C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. Fix method: 1. Add a definition: #define _CRT_SECURE_NO_DEPRECATE e.g: #pragma once #ifndef _MAIN_H #define _MAIN_H #define _CRT_SECURE_NO_DEPRECATE #include <stdio.h> #include <string.h> #include <stdlib.h> 2.Add a definition:#pragma warning(disable:4996) #pragma warning(disable:4996) #include <stdio.h> #include <string.h> #include <stdlib.h> 错误原因解释: 这种微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。关于这些改写的函数你不用专门去记忆,因为编译器对于每个函数在给出警告时,都会告诉你相应的安全函数,查看警告信息就可以获知,在使用时也再查看一下MSDN详细了解。

**p

#include <stdio.h> #include <string.h> void find1(char *array, char search, char **pa) { int i; for (i = 0; i <= strlen(array); i++) { if (*(array + i) == search) { *pa = array + i; break; } else if (*(array + i) == 0) { *pa = array + i;; …

malloc & calloc

1.分配内存空间函数malloc 调用形式: (类型说明符*) malloc (size) 功能:在内存的动态存储区中分配一块长度为”size” 字节的连续区域。函数的返回值为该区域的首地址。 “类型说明符”表示把该区域用于何种数据类型。(类型说明符*)表示把返回值强制转换为该类型指针。“size”是一个无符号数。例如: pc=(char *) malloc (100); 表示分配100个字节的内存空间,并强制转换为字符数组类型, 函数的返回值为指向该字符数组的指针, 把该指针赋予指针变量pc。 2.分配内存空间函数 calloc calloc 也用于分配内存空间。调用形式: (类型说明符*)calloc(n,size) 功能:在内存动态存储区中分配n块长度为“size”字节的连续区域。函数的返回值为该区域的首地址。(类型说明符*)用于强制类型转换。calloc函数与malloc 函数的区别仅在于一次可以分配n块区域。例如: ps=(struet stu*) calloc(2,sizeof (struct stu)); 其中的sizeof(struct stu)是求stu的结构长度。因此该语句的意思是:按stu的长度分配2块连续区域,强制转换为stu类型,并把其首地址赋予指针变量ps。 C语言跟内存申请相关的函数主要有 alloca、calloc、malloc、free、realloc等 alloca是向栈申请内存,因此无需释放 malloc分配的内存是位于堆中的,并且没有初始化内存的内容,因此基本上malloc之后,调用函数memset来初始这部分的内存空间 calloc则将初始化这部分的内存,设置为0 realloc则对malloc申请的内存进行大小的调整 free函数来释放内存

Printf & Scanf Reference in C

Reference from :http://wpollock.com/CPlus/PrintfRef.htm Background printf and scanf are the two standard C programming language functions for console input and output.  A variation of these commands (fprintf and fscanf) also allows I/O to files.  Another (sprintf and sscanf) allows I/O to strings.  (sscanf is especially useful.)  All these as well as …