原创 【趣味題】輸出蛇形矩陣(由內向外、由外向內)、輸出Z字形矩陣。

1.蛇形矩陣更新。2015-1-12 突然想到不管要從那邊開始打印,先存到數組,等輸出的時候調換i,j的起始和方向就行了,以前的弄麻煩了。 bool變量可控制從裏還是從外。 #include<stdio.h> #define N 10

原创 2015-1-6 const和指針

首先來定義兩個數組作爲說明的例子。 int a[10]={0}; const int b[10]={0}; 一、對於Int a[10]={0}看下面幾個指針初始化的代碼: int *error_p;//1 *error_p=

原创 [LeetCode]Merge Two Sorted Lists & Remove Duplicates from Sorted List 兩個有序鏈表合併爲一個&刪除鏈表重複元素

[1] Merge Two Sorted Lists 雖然題目簡單,但是個人認爲代碼寫的還是很好看的! 本題的關鍵在於給定的兩個鏈表並沒有說明是遞增還是遞減排序的!雖然LEETCODE中忽略了這一點,但是我覺得還是需要判斷的 在條件分支中

原创 strcuct結構體創建時使用typedef的命名方式

[1] 不用typedef時的結構體形式: struct student { int age; int score; }stu,*pstu; 這樣的語句的含義簡單明瞭,就是定義了一個結構體,同時創建了兩個student結構的變量stu

原创 2015-1-9 知識總結

整理自《你必須知道的495個C語言問題》 [1]指向函數的指針 void function(int &a,int &b) { int temp; temp=a; a=b; b=temp; } int main() { int

原创 C/C++ 內存分配方式,堆區,棧區,new/delete/malloc/free

1、內存分配方式 內存分配方式有三種: [1] 從靜態存儲區域分配。內存在程序編譯的時候就已經分配好,這塊內存在程序的整個運行期間都存在。例如全局變量, static 變量。 [2] 在棧上創建。在執行函數時,函數內局部變量的存儲單元都可

原创 OJ上二位動態數組分配的一個錯誤記錄

對於一道簡單的二維數組的問題,不想卻遇到了大麻煩。 最後經過指點,才知道: int ** a=(int ** )calloc(m,sizeof(int*)); int ** a=(int ** )calloc(m,sizeof(

原创 Linux編程——ls命令的實現

/************************************************************************* > File Name: yzls.c > Created Time: Wed 28

原创 使用malloc、calloc函數分配內存空間和存儲內容不匹配時引發的錯誤!

下面是昨天遇到問題的一個簡化版本: #include<stdio.h> #include<string.h> #include<stdlib.h> #include<ctype.h> char* copy(char a[]) { cha

原创 char s[] 和 char *s,

[1] 前面已經提到過,對於下面的代碼: char s1[]="hello"; char *s2="hello"; s2是指向常量的指針,只能訪問不能修改;s1是字符串的首地址,可以訪問,可以修改值。 [2] 新的問題 對於下面的的

原创 約瑟夫圓環的兩種實現,數組模擬和鏈表模擬

背景 約瑟夫環(約瑟夫問題)是一個數學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列。 數組實

原创 字符串處理函數的一些問題

[1] strcpy函數的問題 對於兩個char[ ]: char destination[N],char source[M], 如果source的長度大於destination的長度,那麼實際上在內存中,source中的字符已經全部存儲

原创 二進制數中1的個數,位運算的境界

原本以爲x&(x-1)就算是挺好的方法了,不過和下面這種方法相比,效率遠遠不及。 巧妙的思路,收錄在Hacker‘s delight一書中 點贊 收藏 分享 文章舉報 黑色芒果

原创 變量的生命週期和{ }的相關知識

生命週期如果和寄存器、內存什麼的掛鉤,就變得不那麼好理解。、 其實生命週期的概念也很簡單,無非就是變量從哪到哪有效。這裏只說生民週期和大括號{ }的聯繫 淺顯一點說,一個變量的生命週期就是從上一個 { 開始,到下一個 } 結束爲止 [1

原创 VS2012查看是否有內存泄露的方法

加入下列宏定義: #ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLO