標籤:android blog java 使用 os io 檔案 資料
變數的定義int i;typedef int x;//定義一個int x資料類型x a=10;printf("size=%d",sizeof(i));//擷取int類型長度(4個位元組)system("pause");//不讓表單立即消失迴圈在c語言中,迴圈的變數必須在外面生命int ifor(i=0;i<10;i++){printf("i=%d",i);}指標變數int i=10;int* p;//聲明一個指標變數p=&i;//取出i的地址值,賦值給指標變數*p取出指標指向的值多級指標int i=10;int* p;p=&i;int** s;s=&p;int*** x;x=&s;//取出i的值,這裡有一個規律,前面有多少個*,取得時候就在簽名加幾個*printf("i=%d",***x);數組數組的定義int arr[3]或者int arr[]={1,2,3};遍曆數組://1.普通方式 int i;for(i=0;i<3;i++){ printf("arr[%d]=%d\n",i,arr[i]); }//2.通過指標方式擷取 <*(arr+j)>int j;for(j=0;j<3;j++){ printf("arr[%d]=%d\n",j,*(arr+j));} 結構的定義與使用//1.定義結構體 struct person{int age;}//2.結構體的使用struct person p;p.age=10;printf("p.age=%d",p.age);結構體指標變數的定義與使用struct person{int age;} *p;//聲明一個結構體指標變數 //動態申請記憶體空間p=(struct person*)malloc(sizof(struct person));p->age=18;printf("p->age=%d",p->age);函數的定義與使用#include<stdio.h>int sum(int x,int y);//聲明一個函數 main(){ int x=10; int y=10; int z=sum(x,y);//調用函數進行求和運算 printf("z=%d",z); system("pause");}//真實的函數 int sum(int x,int y){ return x+y;}函數的還可以直接定義int sum(int x,int y){ return x+y;}main(){ int x=10; int y=10; int z=sum(x,y);//調用函數進行求和運算 printf("z=%d",z); system("pause");}兩個變數的交換change2(int* x,int* y){ int z=*x; *x=*y; *y=z;} main(){ int x=1; int y=2; change2(&x,&y); printf("x=%d\n",x); printf("y=%d\n",y); system("pause"); } 指標函數#include<stdio.h>int sum(int x,int y){ return x+y;} main(){ int (*s)(int,int); //定義一個函數指標 s=sum; //給函數指標賦值 int x=s(2,3); printf("x=%d",x); system("paud");}在結構體中使用函數指標1.定義一個函數2.頂一個結構體,並在結構體中 定義一個函數指標3.在main函數中,定義一個結構體指標4.通過結構體指標給函數指標賦值,以及成員賦值#include<stdio.h>//1.定義一個函數int sum(int x,int y){ return x+y;} //2.頂一個結構體,並在結構體中 定義一個函數指標struct stu{ int age; //函數指標 int (*score)(int,int);} main(){ //3.定義一個結構體指標 struct stu* s=(struct stu*)malloc(sizeof(struct stu*)); //4.給函數指標賦值 s->score=sum; //給結構體中成員屬性賦值 s->age=s->score(1,2); printf("age=%d",s->age); system("pause"); }聯合的定義與使用//定義一個聯合 union un{ int age; char x;} main(){ union un abc;//定義一個聯合變數 abc.age=10; printf("age=%d\n",abc.age); printf("x=%d\n",abc.x); system("pause");}枚舉的使用//定義一個枚舉,枚舉中的成員都是一個整型常量值enum mode{ a=100,//如果不賦值,預設從0開始,如果賦值則後面的一次加1 b} main(){ //定義一個枚舉變數 enum mode m=a; printf("m=%d",m); system("pause"); }類型說明 typedef int xx ;xx a=100;define指令,定義全域內容;在c中1代表真,0代表假 #define TRUE 1;#define FALSE 0;if(TRUE){....}else{....}定義一個全域方法#define Max(x,y) (x>y)?x:y動態數組int* arr=(int*)malloc(4*10);檔案讀取int main(){ FILE* fp; char ch; if((fp=fopen("mm.txt","rt"))== NULL){ printf("檔案不存在or讀取失敗\n"); }else{ //怎麼讀取檔案的內容?ch=fgetc(fp);//從流裡面擷取字元 while (ch!=EOF){putchar(ch);//在stdout上輸出字元 ch=fgetc(fp);}fclose(fp);//關閉一個流 } system("pause");//暫停 讓cmd視窗不消失 }jni開發流程:1 建立一個android工程2 add native support 產生jni檔案夾 Android.mk檔案 + xx.cpp檔案3 修改檔案 Android.mk .cpp 改為.c xx.cpp檔案 改為.c----------------------------------------------------------------------------該工程可以進行ndk開發4 在MainActivity.java裡面添加一個native方法 public native String getString();5 產生標頭檔 cmd cd /d 工程的src目錄 javah com.itcast.jni1.MainActivity 在src產生一個 com_itcast_jni1_MainActivity.h----------------------------------------------------------------------------產生了標頭檔6 把com_itcast_jni1_MainActivity.h 複製到jni下面,拷貝裡面的方法到.c檔案7 完成.c檔案內容的編寫----------------------------------------------------------------------------c代碼編寫完成8 編譯c代碼 右鍵工程 --》 Build configuration --> buill all 產生.so檔案9 載入動態連結程式庫檔案 static{ System.loadLibrary("hello"); }10 調用native方法