JNI 學習筆記系列(二)

      網友投稿 953 2022-05-29

      c中沒有Boolean類型的值,一般是使用1表示true,0表示false,c中也沒有String類型的數據,c中的字符串要通過char數組來表示。c中沒有byte類型,一般用char表示byte類型。

      先看看c中數據類型長度:

      # include # include main(){ printf("char類型的長度為:%d\n",sizeof(char)); printf("int類型的長度為:%d\n",sizeof(int)); printf("double類型的長度為:%d\n",sizeof(double)); printf("float類型的長度為:%d\n",sizeof(float)); printf("long類型的長度為:%d\n",sizeof(long)); printf("short類型的長度為:%d\n",sizeof(short)); printf("signed int類型的長度為:%d\n",sizeof(signed int)); printf("unsigned int類型的長度為:%d\n",sizeof(unsigned int)); system("pause"); }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      signed和unsigned 表示數據類型的修飾符,它們只能修飾整數類型的數據。

      再來看看c中的輸入輸出:

      # include # include main(){ int i = 3; float f = 3.14159; double d = 6.2815; char c = 'A'; short s = 2; printf("int i=%d\n",i); printf("float f=%f\n",f); printf("double d=%lf\n",d); printf("char c=%c\n",c); printf("short s=%d\n",s); //從鍵盤接受一個字符串 char arr[20]; scanf("%s",arr); printf("arr為%s\n",arr); int j; scanf("%d",&j); printf("j=%d\n",j); system("pause"); }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      JNI 學習筆記系列(二)

      18

      19

      20

      21

      22

      23

      指針:

      *的幾種含義:

      1.*放在某種數據類型的后面,代表就是這種數據類型的指針

      2.* 代表一個乘法符號

      3.* 放在一個指針變量前面代表這個指針變量所存放的地址對應的數據。

      # include # include main(){ int i = 5; int* p = &i; printf("%d\n",*p); system("pause"); }

      1

      2

      3

      4

      5

      6

      7

      8

      運行結果:

      由上圖可以看出,p和i是兩個完全不相同的變量,p的改變不會影響i,i的改變也不會影響p;但是*p和i則是同一個值,更改*p會影響i,同理,更改i也會影響*p.

      通過子函數來修改主函數中變量的值。

      # include # include void swap(int* p,int* q){ int temp = *p; *p = *q; *q = temp; } main(){ int i = 5; int j = 3; printf("修改之前的變量值\ni=%d\nj=%d\n",i,j); swap(&i,&j); printf("修改之后的變量值\ni=%d\nj=%d\n",i,j); system("pause"); }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      把i和j對應的地址傳遞給swap函數,*p和*q分別代表變量i和j的地址所對應的變量值,在swap函數中,通過直接操作變量的地址所對應的變量值來交換兩個變量之間的值。

      指針變量常見錯誤:

      1.指針變量未賦值(野指針)不可使用

      2.不相符合的指針類型不可互傳。比如以下代碼錯誤:

      int i = 9; char* c; printf("%c\n",*c);

      1

      2

      3

      指針不可以訪問被系統回收的變量,子函數調用完畢之后,函數體內的所有局部變量會被系統回收。

      數組中arr[i] 、*(arr+i)表示同一個變量。數組是一塊連續的內存空間,數組名是首地址。

      數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:程序人生 | 韭菜的股市沉浮
      下一篇:Windows部署Python開發環境
      相關文章
      亚洲欧美不卡高清在线| 亚洲精品美女久久久久| 亚洲欧洲尹人香蕉综合| 亚洲欧洲国产精品香蕉网| 大胆亚洲人体视频| 亚洲JIZZJIZZ妇女| 亚洲精品无AMM毛片| 亚洲欧美黑人猛交群| 亚洲娇小性色xxxx| 亚洲一级特黄特黄的大片 | 亚洲一级毛片免费看| 亚洲午夜在线电影| 亚洲网红精品大秀在线观看| 久久久亚洲裙底偷窥综合| 亚洲视频一区二区三区| 亚洲综合色一区二区三区小说| 亚洲第一永久在线观看| 亚洲乱码在线播放| 亚洲人成www在线播放| 亚洲欧美国产国产综合一区| 亚洲精品乱码久久久久久V| 亚洲丶国产丶欧美一区二区三区| 久久亚洲AV成人无码国产最大| 在线观看亚洲视频| 亚洲视频在线一区二区| 亚洲色精品aⅴ一区区三区| 亚洲国产精品一区二区久久hs| 亚洲高清在线视频| 亚洲精品无码久久久久久久| 久久精品亚洲AV久久久无码 | 亚洲国产高清在线| 久久精品亚洲中文字幕无码麻豆| 久久精品蜜芽亚洲国产AV| 亚洲国产精品人久久电影| 亚洲日韩一中文字暮| 亚洲午夜无码久久久久软件| 亚洲AV成人一区二区三区观看 | 精品亚洲福利一区二区| 亚洲天堂免费在线视频| 亚洲中文字幕无码不卡电影| 亚洲成熟xxxxx电影|