原创 動態內存/動態數組
一、malloc 1.常用表達式:int *p = (int *)malloc(n*sizeof(int)); 爲20個char*分配內存 char **p = (char **)malloc(20*sizeof(char
原创 遞歸、時間複雜度和空間複雜度
一、遞歸:函數自己調用自己 1.Fibon數列是使用遞歸最差的例子 //Age(5)表示第5個人的年齡 //Age(4)表達第4個人的年齡 //Age(3)表達第3個人的年齡 //Age(2)表達第2個人的年齡 //Age(1)表達第1個
原创 一個乒乓球引發的一系列問題(窮舉法)
一、乒乓球對手匹配:A:不和Z,C不和X、Z void Match()//窮舉 { for(char a='X';a<='Z';a++)//A的對手 { for(char b='X';b<='Z';b++) { for
原创 fork、內存泄漏、進程
1.系統調用 fork:複製進程 Pid_t fork(void); Pid_t:int pid:進程的編號(id標識符) 父子進程併發運
原创 文件、文件系統
一、文件類型 1.二進制文件:非文字形式,如圖片,音樂,電影 2.文本文件:文字形式 二、外存和內存 1.外存:如磁盤(如機械硬盤,固態硬盤[速度快])、磁帶、CD,外存速度慢,掉電保護 2.內存,速度快,掉電不保護,速度越快,價格越貴
原创 關於分頁,我所學到的
近來我學習了mybatis Pagehelper分頁,瞭解了其原理。 總結Pagehelper分頁與List分頁的不同點,List分頁適用於獲取到的數據不是數據庫裏的,Pagehelper分頁適用於數據庫裏的數
原创 衆多回文問題
//1.判斷一個數字是否是迴文 bool IsCircleNum(int num,int len) { char tmp = 0; char *str = (char *)malloc(len*sizeof(char)); char
原创 gets、scanf
gets 【1】函數:gets(字符指針) 【2】頭文件:stdio.h(c中),c++不需包含此頭文件 【3】原型:char*gets(char*buffer); 【4】功能:從stdin流中讀取字符串,
原创 結構體大小的計算、聯合、位段
一、結構體大小的計算 硬件裏的寄存器讀取數據的整數倍,有個內存對齊的規則 struct A { int a; int b; };//8 struct B { char a;//1+3 int b;//4 }; struct
原创 約瑟夫環、內存重疊
一、約瑟夫環 有n個人圍成一圈,報3的退出,問剩下的一個人的編號是多少? int Circle(int n)//約瑟夫環 { int *arr = (int *)malloc(n*sizeof(int)); int i; for(
原创 線性表
一、線性表可分爲順序表和鏈表 順序表:邏輯相鄰,物理也相鄰 鏈表:邏輯相鄰但物理可能不相鄰 在seqlist.h這個頭文件裏: #pragma once //防止頭文件被重複引用 //固定長度的順序表 #define SIZE 10 //
原创 C語言中函數返回字符串的四種方法
C語言中函數返回字符串的四種方法 原文鏈接: http://www.cnblogs.com/qingergege/p/6496683.html 在討論着四種方法之前,首先要對函數有一個簡單的認識,無論是在形實結合時,還是在retu
原创 可變參數問題(以及Myprintf函數的實現)
#include <stdarg.h>//可變參數頭文件 例如: 1.int Max_list(int a,...)//參數有好多怎麼辦? { va_list list; int max = a; int cur = a; va
原创 自定義數據類型/結構體(struct)、typedef
一、struct 1.struct Student //只要定義好了與基本類型一樣 { char name[20]; int age; }; int main() { int a = 10
原创 淺拷貝,深拷貝
一、淺拷貝 含義:多個指針指向同一個內存(如生活中的共享) 特點:不能修改 1.如字符串常量就是淺拷貝,不允許修改 char *str1 = "hello world"; char str1[0] = 'a';//error 2.指針數