Time of Update: 2018-12-03
轉載地址http://blog.renren.com/share/425935703/14545505748?from=0101010202&ref=hotnewsfeed&sfet=102&fin=48&fid=20050008831&ff_id=425935703char *p, **p, ***p;char p[],p[][],p[][][];char *p[],*p[][],**p[],**p[][],*(*p)[],(**p)[],(**p)[]
Time of Update: 2018-12-03
這次就不貼代碼了,因為這個理論比實踐要重要。建議大家百度百科。http://baike.baidu.com/view/1523557.htm解釋 現代電腦中記憶體空間都是按照byte劃分的,從理論上講似乎對任何類型的變數的訪問可以從任何地址開始,但實際情況是在訪問特定類型變數的時候經常在特
Time of Update: 2018-12-03
直接上代碼file1.c檔案 1 #include<stdio.h> 2 extern long power(int); 3 int A = 2; 4 int main() 5 { 6 int n = 10 ,total; 7 total = power(n); 8 printf("total = %d",total); 9 return 0; 10 }file2.c檔案 1 extern A; 2
Time of Update: 2018-12-03
每次看C語言的時候,總是或多或少的會有些收穫,這次由於快要找實習了,準備把基礎打紮實,所以買了一本C Primer
Time of Update: 2018-12-03
1.有關整數溢出,直接上代碼#include<stdio.h>int main(void){int i = 2147483647;unsigned int j = 4294967295;printf("%d*%d**%d\n",i,i+1,i+2);printf("%u*%u**%u\n",i,i+1,i+2);printf("%d*%d**%d\n",j,j+1,j+2);printf("%u*%u**%u\n",j,j+1,j+2);getchar();return
Time of Update: 2018-12-03
第一個程式#include<stdio.h>int main(void){float a,b,c;b = 2.0e4 + 1.0;a = b - 1.0;c = b - 2.0e4;printf("%f %f %f\n",a,b,c);b = 2.0e10 + 1.0;a = b - 1.0;c = b - 2.0e10;printf("%f %f %f\n",a,b,c);b = 2.0e20 + 1.0;a = b - 1.0;c = b - 2.0e20;printf("%f
Time of Update: 2018-12-03
1資料1.1變數與常量常量定義後不能改變值const double a =2.4變數字母或底線開頭,不能與c#中關鍵字相同,除非以@為首碼int @char =3int _a=21.2裝箱和拆箱裝箱實值型別轉換成object類型int i=123 ;//把"123"賦給iobject o=i ;//裝箱拆箱object類型轉換成實值型別.只有裝過箱的才能拆箱。int i=123 ;//把"123"賦給iobject o=i ;/裝箱操作int j=(int)o ;//
Time of Update: 2018-12-03
八皇后詳解,有人可能看不懂上一篇文章,我又特別整理了一下,盡量弄得簡單易懂。注釋很詳細,基本上都有注釋。先貼一張圖,看圖看程式比較容易貼上詳細代碼#include<stdio.h>#define ROW 8//代表列,座標是x#define COL 8//代表行,座標是y#define NUM 7//八皇后問題,數組下標0-7#define TRUE 0//真#define FALSE 1//假#define YES 1//有皇后#define NO 0//沒有皇后#define
Time of Update: 2018-12-03
直接上代碼#include<stdio.h>int main(){int i,j=3;i=j++*++j+j--*--j;printf("%d %d",i,j);return
Time of Update: 2018-12-03
看到《linux C編程實戰》書上67頁說int n = 10;int a[n];說是不正確的,然後我就檢驗了一下,發現竟然是正確的,在網上找了一下動態數組的分配,大部分人都是說要用指標,或者malloc進行分配。我這裡寫出來是想告訴大家,書上說的不一定完全正確。下面就貼出例子來檢驗一下。 1 #include<stdio.h> 2 int main() 3 { 4 int col,row;//代表行和列 5 printf("請輸入行數:")
Time of Update: 2018-12-03
我的這個C/C++程式, 可以成功的交叉編譯到中興,烽火的機頂盒上運行, 原以為編譯到android應該也是一件簡單的事情, 但是做起來遠比我想象的複雜得多。我的程式中有 .C 檔案 和 .CPP 檔案 , 其中 .CPP 檔案中用到了 STL的string, 編譯成功後死活連結不到std::string庫,提示報錯 undefined reference to `std::basic_string 。折騰了兩天準備用NDK來 編譯 stlport庫, 但是以失敗告終,報錯如下:[root@
Time of Update: 2018-12-03
這個題目的噱頭太大,要真的寫起來, 足夠寫一本書了。 本人是過來人, 結合自身的體會和大家交流一下,希望新人能少走彎路。 每個人的情況不一樣,我下面的描述可能並不適合每一個看到這篇文章的人。 一、C/C++語言 如果你的基礎很差, 建議不要一開始就學C++語言,從C開始學起,對程式有個初步的認識,循序漸進。C語言的書嘛,先買一本 300 頁以內的,把書中的每一個例子都通過鍵盤敲打進去到 Visual
Time of Update: 2018-12-03
C/C++語言中調用 sqlite 的函數介面來實現對資料庫的管理(建立資料庫、建立表格、插入資料、查詢、資料、刪除資料等)。首先要編譯好sqlite的庫檔案 : libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6 pkgconfig可執行檔 : sqlite3本次測試: sqlite3的庫檔案目錄是:/usr/local/lib 可執行檔
Time of Update: 2018-12-03
在開源的C/C++網路程式庫中, 常用的就那麼幾個, 在業界知名度最高的, 應該是ACE了, 不過是個重量級的大傢伙, 輕量級的有libevent, libev, 還有 Boost的ASIO。ACE是一個大型的中介軟體產品,代碼20萬行左右,過於宏大,一堆的設計模式,架構了一層又一層,使用的時候,
Time of Update: 2018-12-03
首先,有如下聲明:int a[12][31];int *p;int
Time of Update: 2018-12-03
作為一個經驗豐富的C/C++程式員, 肯定親手寫過各種功能的代碼, 比如封裝過資料庫訪問的類, 封裝過網路通訊的類,封裝過日誌操作的類, 封裝過檔案訪問的類, 封裝過UI介面庫等, 也在實際的項目中應用過, 但是回過頭仔細想想,其實以前自己寫過的這些代碼,只能是在特定的項目或者特定的環境中使用, 對於自己來說, 在不同的項目中應用, 只需要複製代碼, 改改也就可以了, 因為自己寫的代碼自己很熟悉。問題是, 你封裝的這些庫, 在給別人使用的時候, 別人用起來是否很方便,
Time of Update: 2018-12-03
這學期的課程設計是嵌入式-手機24點遊戲開發! 今天,搭建了arm開發板上的wince開發環境,用的是EVC來進行程式的開發!雖說一樣都是C++,文法上沒有多大的變化(自己感覺)!但是有些處理細節上還是需要多注意的! 這次遇到了兩個主要的問題:
Time of Update: 2018-12-03
在linux下用vi編輯C語言很不方便,關鍵字不高亮(預設情況下),括弧不匹配,上下行不對齊,等等……今天在網上找了些對VI進行簡單配置,以方便編寫C語言。 開啟,一個新的終端(root使用者登入),在root目錄下輸入:#vi ~/.vimrc開啟檔案後,輸入下面內容:(括弧中的不輸)set nocompatible (去掉vi一致性模式)set nu (顯示行號)filetype on (檢測檔案類型)syntax on (文法高亮度顯示)set
Time of Update: 2018-12-03
在C陷阱與缺陷中看到,當用switch語句實現兩個數的四則運算時,有個小技巧。大家都知道,case語句後面要加上break,這確實也是值得注意的地方。看下面的代碼:1:減法; 2:加法; 3:除法; 4:乘法switch(flag){ case 1:y=-y; //此處沒有break;case 2:z=x+y;break;case 3:y=1/y; //此處沒有break;假設1/y就是一個分數;case 4:
Time of Update: 2018-12-03
#include <stdio.h>int main(void){ int a = 0; int ret = 0; char c = 0; //迴圈輸入資料 while(1) { printf("(press ctrl + d to quit!)please input a value:"); ret = scanf("%d",&a); //檢測使用者是否按下ctrl+d if(feof(stdin) || ferror(stdin)) { printf("