Time of Update: 2017-01-19
在C語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。介紹它的第一條也是最重要的一條:隱藏。當我們同時編譯多個檔案時,所有未加static首碼的全域變數和函數都具有全域可見度。為理解這句話,我舉例來說明。我們要同時編譯兩個源檔案,一個是a.c,另一個是main.c。下面是a.c的內容複製代碼 代碼如下:char a = 'A'; // global variablevoid msg() { printf("Hello\n");
Time of Update: 2017-01-19
複製代碼 代碼如下:#include <stdio.h>#include <stdlib.h>typedef struct type{ int num; struct type *next;}TYPE;//=============================================================// 文法格式: TYPE *init_link_head(int n)// 實現功能:
Time of Update: 2017-01-19
複製代碼 代碼如下:#include<iostream>using namespace std;class A{ int x,y; public: A(int xx,int yy):x(xx),y(yy){} A(){x=0;y=0;} A operator+(const A&b) //不加const限定,
Time of Update: 2017-01-19
下面是三個變數的聲明,我想使用typedef分別給它們定義一個別名,請問該如何做?>1:int *(*a[5])(int, char*);>2:void (*b[10]) (void (*)());>3. doube(*)() (*pa)[9];答案與分析:對複雜變數建立一個類型別名的方法很簡單,你只要在傳統的變數聲明運算式裡用類型名替代變數名,然後把關鍵字typedef加在該語句的開頭就行了。>1:int *(*a[5])(int,
Time of Update: 2017-01-19
C語言中的符號常量在結束討論溫度轉換程式前,我們再來看一下符號常量。在程式中使用 300、20 等類似的“幻數”並不是一個好習慣,它們幾乎無法向以後閱讀該程式的人提供什麼資訊,而且使程式的修改變得更加困難。處理這種幻數的一種方法是賦予它們有意義的名字。#define 指令可以把符號名(或稱為符號常量)定義為一個特定的字串:#define 名字 替換文本在該定義之後,程式中出現的所有在 #define
Time of Update: 2017-01-19
一
Time of Update: 2017-01-19
我們都知道C++中有三種建立對象的方法,如下:複製代碼 代碼如下:#include <iostream>using namespace std;class A{private: int n;public: A(int m):n(m) { } ~A(){}};int
Time of Update: 2017-01-19
什麼是socket 你經常聽到人們談論著 “socket”,或許你還不知道它的確切含義。現在讓我告訴你:它是使用 標準Unix 檔案描述符 (file descriptor) 和其它程式通訊的方式。什嗎?你也許聽到一些Unix高手(hacker)這樣說過:“呀,Unix中的一切就是檔案!”那個傢伙也許正在說到一個事實:Unix 程式在執行任何形式的 I/O 的時候,程式是在讀或者寫一個檔案描述符。一個檔案描述符只是一個和開啟的檔案相關聯的整數。但是(注意後面的話),這個檔案可能是一個網路連接,
Time of Update: 2017-01-19
c語言標準1978年,丹尼斯·裡奇(Dennis Ritchie)和Brian Kernighan合作出版了《C程式設計語言》的第一版。書中介紹的C語言標準也被C語言程式設計師稱作“K&R C”,第二版的書中也包含了一些ANSI C的標準。K&R C主要介紹了以下特色:結構(struct)類型長整數(long int)類型不帶正負號的整數(unsigned int)類型把運算子=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道使用者要處理i = +10還是i =-
Time of Update: 2017-01-19
我們最經常遇到的驗證,就是電子郵件地址驗證。網站上常見。各種網頁指令碼也都常用“Regex”(regular
Time of Update: 2017-01-19
安裝OPENMPI由於是實驗,也不進行多機的配置了,只在虛擬機器裡安裝吧。多個機器的配置可以參考此文最簡單的方法,apt安裝sudo apt-get install libcr-dev mpich2 mpich2-doc測試hello.c/* C Example */#include <mpi.h>#include <stdio.h>int main (int argc, char* argv[]){ int rank, size; MPI_Init (&argc,
Time of Update: 2017-01-19
這是對pthread線程的一個簡單應用1. 實現了線程池的概念,線程可以重複使用。2. 對訊號量,互斥鎖等進行封裝,業務處理函數中只需寫和業務相關的代碼。3.
Time of Update: 2017-01-19
可以通過time()函數來獲得電腦系統當前的日曆時間(Calendar Time),處理日期時間的函數都是以本函數的傳回值為基礎進行運算。其原型為:time_t time(time_t * t);如果你已經聲明了參數t,你可以從參數t返回現在的日曆時間,同時也可以通過傳回值返回現在的日曆時間,即從一個時間點(例如:1970年1月1日0時0分0秒)到現在此時的秒數。如果參數為空白(NULL),函數將只通過傳回值返回現在的日曆時間,比如下面這個例子用來顯示當前的日曆時間:複製代碼
Time of Update: 2017-01-19
用字元數組方法:基本思路是,先判斷字元的結束標誌'\0',然後從該位置向前輸出。實現代碼:複製代碼 代碼如下:#include<iostream>using namespace std;int main(){ char a[50]; cout<<"please input a string:"; cin>>a; int
Time of Update: 2017-01-19
C語言運算子及其優先順序匯總表口訣圓下箭頭一頓號非凡增減富強針地長三乘除,四加減,五移位千萬別把魚忘記,它在盛飯的廚子裡小燈大燈燈燈不等爸餵魚,舅疑惑,裸雞也疑惑十三姨,十四父,十五逗,兜到低“圓下箭頭一頓號”指的是第15級的運算子。其中圓指的是運算子(),下指的是下標運算子[],箭頭指的是指向結構體成員運算子->,頓號指的是結構體成員運算子、 “非凡增減富強針地長”指的是第14級的運算子。其中非指的是邏輯運算子!,凡指的是按位取反運算子~,增減指的是自增和自減運算子++和--,
Time of Update: 2017-01-19
一、程式結構的最佳化1、程式的書寫結構雖然書寫格式並不會影響產生的程式碼品質,但是在實際編寫程式時還是應該尊循一定的書寫規則,一個書寫清晰、明了的程式,有利於以後的維護。在書寫程式時,特別是對於While、for、do…while、if…elst、switch…case等語句或這些語句嵌套組合時,應採用“縮格”的書寫形式,2、標識符程式中使用的使用者識別碼除要遵循標識符的命名規則以外,一般不要用代數符號(如a、b、x1、y1)作為變數名,應選取具有相關含義的英文單詞(或縮寫)或漢語拼音作為標識符
Time of Update: 2017-01-19
不止一個學生問到我:“老師,為什麼我們的應用程式設計要學C語言而不是別的?C語言不是已經過時了嗎?如果現在要寫一個Windows程式,用VB或Dephi開發多快呀,用C行嗎?退一萬步,為什麼選擇C而不是C++呢?” 這個問題三言兩語還真說不全。簡單來說,C語言是電腦程式語言的基礎,是實用的程式設計工具,學好C語言對你今後學習JAVA、C++、VB等可以打下良好的基礎,因為這些語言大部分都是由C語言擴充或衍生而來的。C可以用於開發比較底層的東西,比如驅動、通訊協定之類,在Unix和Linux環境
Time of Update: 2017-01-19
1.普通的寫法複製代碼 代碼如下:#include <stdio.h>int leapyear(int year){ if((year%4==0 && year%100!=0) || year%400==0) return 1; else return 0;}int days(int *day1, int *day2){ int i=0; int *tmp; int diff =
Time of Update: 2017-01-19
下面是一個C語言的函數和C++的函數驗證了這段話複製代碼 代碼如下:# include<stdio.h>int fun1();int main(){ int a = fun1(3, 4); printf("%d\n", a); return 0;}int fun1(int a, int b){ return a + b;}結果沒有任何問題,輸出結果為7,也即fun()可以聲明fun(int, int)複製代碼 代碼如下:#
Time of Update: 2017-01-19
#include <string>#include <iostream>using namespace std; void main(){複製代碼 代碼如下: ////find函數傳回型別 size_typestring s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i");string flag;string::size_type position;//find 函數 返回jk 在s 中的下標位置 position =