精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C/C++基礎之sizeof使用

開發 后端
在 C/C++ 中,sizeof() 是一個判斷數據類型或者表達式長度的運算符。

[[335680]]

在 C/C++ 中,sizeof() 是一個判斷數據類型或者表達式長度的運算符。

1、sizeof 定義sizeof 是 C/C++ 中的一個操作符(operator),返回一個對象或者類型所占的內存字節數。

The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.

——來自MSDN

其返回值類型為 size_t ,在頭文件 stddef.h 中定義為: typedef unsigned int size_t;

從sizeof 的定義可以看出:sizeof 不是一個函數,因為函數調用必須有一對括號。

 

  1. #include <stdio.h> 
  2.  
  3. int main(void) 
  4.    int num = 97; 
  5.  
  6.    printf("sizeof(num = 0)的值:%d\n",sizeof(num = 0));    
  7.    printf("num 的值:%d\n",num);    
  8.    return 0; 

 

 

運行結果為4,97;并不是4,0

 

說明:sizeof 不是標準意義上的一元操作符,不支持鏈式表達式,sizeof 作用域范圍內的語句不會編譯成機器碼,如 sizeof(num++) 中的 ++ 不執行。sizeof 也不是函數, sizeof 更像一個特殊的宏,在編譯階段求值。

2、sizeof 用法sizeof 有兩種語法形式,如下:

 

  1. sizeof(type_name);    //sizeof(類型); 
  2. sizeof (object);      //或sizeof object 都屬于 sizeof對象; 

所以:

 

  1. int i; 
  2. sizeof(i);    //合理 
  3. sizeof i;     //合理 
  4. sizeof(int);  //合理 
  5. sizeof int;   //不合理 
  • 對類型使用 sizeof 時,sizeof type_name 是非法的,必須寫為 sizeof(type_name);
  • 無論是對對象還是類型取值,sizeof () 這種形式都是對的;

1)基本數據類型的 sizeof

這里的基本數據類型是指short、int、long、float、double這樣的簡單內置數據類型。

由于它們的內存大小是和系統相關的,所以在不同的系統下取值可能不同。

 

  1. #include <iostream> 
  2. using namespace std; 
  3.   
  4. int main() 
  5.    cout << "Size of char : " << sizeof(char) << endl; 
  6.    cout << "Size of int : " << sizeof(int) << endl; 
  7.    cout << "Size of short int : " << sizeof(short int) << endl; 
  8.    cout << "Size of long int : " << sizeof(long int) << endl; 
  9.    cout << "Size of float : " << sizeof(float) << endl; 
  10.    cout << "Size of double : " << sizeof(double) << endl; 
  11.    cout << "Size of wchar_t : " << sizeof(wchar_t) << endl; 
  12.    return 0; 

在 32 位系統下內置數據類型與其 sizeof 運算結果如下:

 

  1. Size of char : 1 
  2. Size of int : 4 
  3. Size of short int : 2 
  4. Size of long int : 4 
  5. Size of float : 4 
  6. Size of double : 8 
  7. Size of wchar_t : 4 
  • unsigned 不影響內置類型 sizeof 的取值

2) 指針類型的 sizeof

指針主要用于存儲地址,前幾天文章C語言指針詳解提到過,指針變量的位寬等于機器字長,機器字長由 CPU 寄存器位數決定。在 32 位系統中,一個指針變量的返回值為 4 字節, 64 位系統中指針變量的 sizeof 結果為 8 字節。

 

  1. char *p =”hello”;  
  2. sizeof( p );       // 結果為4  
  3. sizeof(*p);        // 結果為1  
  4. int *pi;  
  5. sizeof( pi );      //結果為4  
  6. sizeof(*pi);       //結果為4  
  7. char **pp = &p;  
  8. sizeof( pp );      // 結果為4  
  9. sizeof( *pp );     // 結果為4  
  • 指針變量的 sizeof 值與指針所指的對象類型沒有任何關系,與指針申請多少空間沒有關系,所有的指針變量所占內存大小均相等。
  • 如果使用 32 位編譯器編譯得到程序是 32 位,那么在 64bits 系統下,指針變量大小仍然是 4 個字節。

3) 函數類型的 sizeof

函數類型以其返回類型作為自身類型,進行 sizeof 取值。

 

  1. void fun1() 
  2. int fun2() 
  3.    return 0; 
  4. double fun3() 
  5.    return 0.0; 
  6. cout << sizeof(fun1()) << endl;  //錯誤!無法對void類型使用sizeof 
  7. cout << sizeof(fun2()) << endl;  //fun2()返回值類型為int,輸出4 
  8. cout << sizeof(fun3()) << endl;  //fun3()返回值類型為double,輸出8 

注意:不能對返回 void 函數和函數指針進行 sizeof 取值。

4) 數組類型的 sizeof

當 sizeof 作用于數組時,求取的是數組所有元素所占用的大小。

 

  1. int A[3][5]; 
  2.     char c[]="abcdef"
  3.     double*(*d)[3][6]; 
  4.  
  5.     cout<<sizeof(A)<<endl;      //輸出60 
  6.     cout<<sizeof(A[4])<<endl;   //輸出20 
  7.     cout<<sizeof(A[0][0])<<endl;//輸出4 
  8.     cout<<sizeof(c)<<endl;      //輸出7 
  9.     cout<<sizeof(d)<<endl;      //輸出4 
  10.     cout<<sizeof(*d)<<endl;     //輸出72 
  11.     cout<<sizeof(**d)<<endl;    //輸出24 
  12.     cout<<sizeof(***d)<<endl;   //輸出4 
  13.     cout<<sizeof(****d)<<endl;  //輸出8 

A 的數據類型是 int[3][5] ,A[4] 的數據類型是 int[5],A[0][0]數據類型是 int 。所以:

 

  1. sizeof(A)==sizeof(int[3][5])==3*5*sizeof(int)==60 
  2. sizeof(A[4])==sizeof(int[5])=5*sizeof(int)==20 
  3. sizeof(A[0][0])==sizeof(int)==4 

如果字符數組表示字符串,數組末自動插入 '\0',所以 c 的數據類型是 char[7] ,所以 sizeof(c)=sizeof(char[7])==7。

d 是一個很奇怪的定義,他表示一個指向 double*[3][6] 類型數組的指針。既然是指針,所以 sizeof(d) 就是4。

既然 d 是執行 double*[3][6] 類型的指針, *d 就表示一個 double*[3][6] 的多維數組類型,因此 sizeof(*a)=3*6*sizeof(double*)=72 。

**d 表示一個 double*[6] 類型的數組,所以 sizeof(**d)=6*sizeof (double*)=24。

***d 表示其中的一個元素,也就是 double* ,所以 sizeof(***d)=4 。

****d 是一個 double ,所以 sizeof(****d)=sizeof(double)=8。

當數組作為函數形參時,下面輸出結果應該是多少呢?

 

  1. int GetStrLength(char str[]) 
  2.    return sizeof(str); 
  3.  
  4. int main() 
  5.    char szStr[] = "abcdef"
  6.    cout<< GetStrLength() << endl; 
  7.    return 0; 

輸出不是 7 ,這里函數參數 str[] 已不再是數組類型,而是蛻變成指針,我們調用函數 GetStrLength() 時,程序會在棧上分配一個大小為 7 的數組嗎?不會!數組是“傳址”的,調用者只需將實參的地址傳遞過去,所以 str 自然為指針類型 (char*) ,輸出值為:4 。

  • 數組的大小是各維數的乘積*數組元素的大小。
  • 向函數形參傳遞數組,數組將會退化為指針,失去原來數組的特性。

5) 結構體類型的 sizeof

對于 struct 數據結構由 CPU 的對齊問題導致 struct 的大小變得比較復雜。具體可以查看以前的文章一文輕松理解內存對齊。

理論上,int 占 4byte , char 占一個 byte ,那么將它們放到一個結構體中應該占 4+1=5byte ;但是實際上,通過運行程序得到的結果是 8byte 。

 

  1. #include<stdio.h> 
  2.  
  3. struct{ 
  4.     int x; 
  5.     char y; 
  6. }Test; 
  7.  
  8. int main() 
  9.     printf("%d\n",sizeof(Test)); // 輸出8不是5 
  10.     return 0; 

結構體的大小跟結構體成員對齊有密切關系,而并非簡單地等于各個成員的大小之和!比如對如下結構體兩個結構體 A、B 使用 sizeof 的結果分別是:16,24。可以看出 sizeof(B) 并不等于 sizeof(int)+sizeof(double)+sizeof(int)=16 。

 

  1. struct A 
  2.   int num1; 
  3.   int num2; 
  4.   double num3; 
  5. }; 
  6. struct B 
  7.   int num1; 
  8.   double num3; 
  9.   int num2; 
  10. }; 

結構體A和B中包含的成員都一樣,只不過順序不同而已,為什么其大小不一樣呢?要解釋這個問題,就要了解結構體成員對齊的規則。

  • 結構體的大小等于結構體內最大成員大小的整數倍
  • 結構體內的成員的首地址相對于結構體首地址的偏移量是其類型大小的整數倍,比如說 double 型成員相對于結構體的首地址的地址偏移量應該是 8 的倍數。
  • 為了滿足規則 1 和 2 編譯器會在結構體成員之后進行字節填充!

從三個規則我們來看看為什么 sizeof(B) 等于 24 :首先假設結構體的首地址為0,第一個成員 num1 的首地址是 0 (滿足規則2),它的類型是 int ,因此它占用地址空間 0——3 。第二個成員 num3 是 double 類型,它占用 8 個字節,由于之前的 num1 只占用了 4 個字節,為了滿足規則 2 ,需要使用規則 3 在 num1 后面填充 4 個字節(4——7),使得 num3 的起始地址偏移量為 8 ,因此 num3 占用的地址空間是:8——15。第三個成員 num2 是 int 型,其大小為 4 ,由于 num1 和num3 一共占用了 16 個字節,此時無須任何填充就能滿足規則 2。因此 num2 占用的地址空間是 16——19 。那么是不是結構體的總大小就是 0——19 共 20 個字節呢?請注意,別忘了規則1!由于結構體內最大成員是 double 占用 8 個字節,因此最后還需要在 num2 后面填充 4 個字節,使得結構體總體大小為 24 。

 

  1. struct S{ };  
  2. sizeof(S); // 結果為1 

對于一個空 struct 結構體取 sizeof 運算,運算結果為 1 并非 0 。因為編譯器為保證此空 struct 存在,專門分配一個字節。

如果存在結構體嵌套,無論內層還是外層均需要采用內存對齊。

6) 類的 sizeof

1.不含繼承和 static 成員變量的類。

在這種情況下,只需要考慮對齊方式即可。

 

  1. class A  
  2. {  
  3.   public:  
  4.   int b;  
  5.   float c;  
  6.   char d;  
  7. }; 
  8. class B 
  9. {  
  10. }; 
  11.  
  12. int main(void)  
  13. {  
  14.   cout << “sizeof(A) is ” << sizeof(A) << endl;  
  15.   //輸出結果為12 
  16.   cout << “sizeof(B) is ” << sizeof(B) << endl;  
  17.   //輸出結果為1 
  18.   return 0 ;  
  • 空的 class 同樣也占用 1 個字節。
  • 計算類對象的大小時,類成員函數不占用對象空間,只需要考慮類中數據成員的大小。

2.類中存在靜態成員變量

 

  1. class A  
  2. {  
  3.   public:  
  4.   static int a;  
  5.   int b;  
  6.   float c;  
  7.   char d;  
  8. }; 
  9.  
  10. int main()  
  11. {  
  12.   A object;  
  13.   cout << “sizeof(object) is ” << sizeof(object) << endl;  
  14.   //輸出結果為12 
  15.   return 0 ;  

因為在程序編譯期間,就已經為 static 變量在靜態存儲區域分配了內存空間,并且這塊內存在程序的整個運行期間都存在。而每次聲明了類 A 的一個對象的時候,為該對象在堆上,根據對象的大小分配內存。

3.類中包含成員函數

 

  1. class A  
  2. {  
  3.   public:  
  4.   static int a;  
  5.   int b;  
  6.   float c;  
  7.   char d;  
  8.   int add(int x,int y)  
  9.   {  
  10.     return x+y;  
  11.   }  
  12. }; 
  13.  
  14. int main()  
  15. {  
  16.   A object;  
  17.   cout << “sizeof(object) is ” << sizeof(object) << endl;  
  18.   b = object.add(3,4);  
  19.   cout << “sizeof(object) is ” << sizeof(object) << endl;  
  20.   //輸出結果為12 
  21.   return 0 ;  

因為只有非靜態類成員變量在新生成一個object的時候才需要自己的副本。所以每個非靜態成員變量在生成新object需要內存,而function是不需要的。

3、sizeof 與 strlen 區別

  • sizeof 是一個操作符,strlen 是庫函數。
  • sizeof 的參數可以是數據的類型,也可以是變量,而 strlen 只能以結尾
  • 編譯器在編譯時就計算出了 sizeof 的結果,而 strlen 函數必須在運行時才能計算出來。并且 sizeof 計算的是數據類型占內存的大小,而 strlen 計算的是字符串實際的長度。
  • 數組做 sizeof 的參數不退化,傳遞給 strlen 就退化為指針了。如:

 

  1. int ss[20]="0123456789"
  2.  sizeof(ss)=80, //ss表示在內存中的大小,20*4。 
  3.  strlen(ss)    //錯誤,strlen的參數只能是char*,且必須是以“\0”結尾的。 
  4.  char *ss="0123456789"
  5.  sizeof(ss)=4,  //ss是指向字符串常量的字符指針。 
  6.  sizeof(*ss)=1, // *ss是第一個字符。 

參考資料

  • https://www.cnblogs.com/Western-Trail/p/10326180.html
  • 《C/C++實踐進階之道》

 

責任編輯:龐桂玉 來源: C語言與C++編程
相關推薦

2011-07-15 00:47:13

C++多態

2011-07-14 17:45:06

CC++

2011-07-13 18:24:18

C++

2010-02-03 16:29:19

C++ sizeof

2011-07-15 01:38:56

C++this指針

2024-06-17 10:45:07

C++編程操作符

2011-07-14 23:27:05

C++引用

2011-07-13 16:14:53

C++引用指針

2011-07-10 15:26:54

C++

2010-01-26 15:51:06

C++變量

2011-07-14 17:02:09

C++指針

2011-07-15 01:34:36

C++重載運算符

2011-07-14 17:17:21

C++指針

2011-07-15 01:29:39

C++析構函數

2011-06-21 10:00:21

預處理指令

2011-05-18 18:05:47

C#C++

2011-05-18 17:56:38

C#C++

2023-11-22 12:25:05

C++RTTI

2011-07-14 22:52:27

C++typedef

2021-01-11 15:37:57

C語言萬花筒代碼
點贊
收藏

51CTO技術棧公眾號

久久久噜噜噜久久狠狠50岁| 亚洲精品一区二区三区中文字幕| 欧美激情在线一区二区三区| 国产美女久久久| 丰满少妇被猛烈进入一区二区| 成人资源在线| 欧美日韩激情一区二区| 福利在线一区二区| 国产精品四虎| 粉嫩aⅴ一区二区三区四区| 日韩美女在线观看一区| 欧美三级免费看| 亚洲精品中文字幕99999| 91麻豆精品国产自产在线| 免费在线激情视频| 羞羞视频在线观看免费| 国产婷婷色一区二区三区四区 | 一本一道久久a久久精品综合| 亚洲av无码乱码在线观看性色| 另类天堂av| 欧美激情va永久在线播放| 国产成人免费观看网站| 欧美爱爱网站| 日韩视频免费观看高清在线视频| 免费在线观看的毛片| 678在线观看视频| 亚洲欧洲一区二区在线播放| 日韩啊v在线| 亚洲AV无码乱码国产精品牛牛| 理论片日本一区| 日本一本a高清免费不卡| 国产在线一区视频| 欧美+亚洲+精品+三区| 永久免费精品影视网站| 一级特级黄色片| 136国产福利精品导航网址应用| 在线成人午夜影院| 欧美成人免费高清视频| 麻豆视频在线看| 亚洲成人免费看| www.69av| 性欧美videoshd高清| 亚洲欧洲精品成人久久奇米网 | 久久久久久影院| 在线观看欧美www| 久久久久久久久久久久| 精品资源在线| 亚洲精品美女久久久久| 日本五十肥熟交尾| 国产精品一区二区三区美女| 日韩一区二区三区在线| 日本一区二区三区在线免费观看| 久久亚洲精品人成综合网| 日本乱人伦aⅴ精品| 日韩精品视频久久| 欧美电影免费看| 日韩欧美在线字幕| 成人免费xxxxx在线视频| 欧美黄色网页| 欧美视频中文字幕| 一本岛在线视频| 成人激情视屏| 7777精品久久久大香线蕉 | bt欧美亚洲午夜电影天堂| 国产精品久久久久久免费观看 | 欧美国产成人精品| 亚洲高清视频一区二区| 欧美激情视频在线播放| 中文字幕视频一区| 8x8x华人在线| 91九色国产在线播放| 性做久久久久久免费观看| 日韩一级性生活片| 欧美日韩国产观看视频| 91国产丝袜在线播放| 日韩av.com| 伊人精品久久| 亚洲免费福利视频| 亚洲av毛片基地| 在线看片不卡| 欧美综合激情网| 一级久久久久久久| 国产激情91久久精品导航 | 国产精品视频免费在线| 97视频免费在线| 成人动漫在线一区| 欧美日韩在线观看一区| 免费在线观看黄色网| 亚洲午夜一二三区视频| 亚洲爆乳无码专区| 自拍偷拍欧美日韩| 欧美精品一区二区久久婷婷| 久久久无码人妻精品一区| 欧美gayvideo| 国模私拍视频一区| 夜夜躁日日躁狠狠久久av| 韩国精品一区二区| 久久精品aaaaaa毛片| 午夜免费福利在线观看| 亚洲国产成人av| 一路向西2在线观看| 国内精品国产成人国产三级粉色 | 欧美日韩色视频| 在线亚洲自拍| 91久久精品日日躁夜夜躁国产| 天堂网在线播放| 中文字幕一区二区三区不卡在线| av免费观看国产| 视频91a欧美| 亚洲精品永久免费精品| 久草资源在线视频| 免费成人av在线| 狠狠色伊人亚洲综合网站色| 欧美jizzhd69巨大| 欧美视频在线观看免费网址| 亚洲av无一区二区三区久久| 国内成人精品| 97超级碰碰碰| 午夜久久久久久久久久| 国产精品短视频| 免费大片在线观看| 精品午夜电影| 欧美精品福利视频| 国产精品伊人久久| 国产欧美日韩久久| 国产成人无码一二三区视频| 超碰成人在线免费| 欧美成人免费全部| 亚洲无码久久久久久久| 国产视频一区二区在线观看| 国产日韩欧美精品在线观看| 久久综合给合| 日韩在线欧美在线国产在线| 精品免费囯产一区二区三区| 成人精品亚洲人成在线| 日韩中文字幕亚洲精品欧美| 亚洲国产综合在线观看| 在线观看亚洲区| 九九热最新视频| 久久久久久99久久久精品网站| 国自产拍偷拍精品啪啪一区二区| 91蜜桃臀久久一区二区| 欧美日韩国产成人| 亚洲第一色视频| 亚洲免费看黄网站| 亚洲一二区在线观看| 天天做天天爱天天综合网2021| 国产在线观看91精品一区| 永久免费av在线| 欧美日本一道本| 蜜桃视频最新网址| 精品一区二区三区蜜桃| av动漫免费观看| 精品一区二区三区免费看| 久久精品国产一区二区电影| 国产绿帽一区二区三区| 中文字幕的久久| 在线看的黄色网址| 国产精品久久久久久| 91成人免费观看| 青青草原av在线| 亚洲国产精品va在看黑人| 日本少妇做爰全过程毛片| 成人av资源在线观看| 波多野结衣家庭教师在线播放| 亚洲日产av中文字幕| 国产成人啪精品视频免费网| aaa在线免费观看| 6080yy午夜一二三区久久| 三级黄色片在线观看| 国产一区在线观看麻豆| 成人一级生活片| 九色精品91| 成人免费午夜电影| 91九色美女在线视频| 亚洲女人天堂视频| 91成人在线免费| 亚洲一区在线视频| 黑人巨大精品欧美| 精品一区二区综合| 日本午夜激情视频| 欧美丝袜丝交足nylons172| 91免费视频网站| 国产激情视频在线看| 一个色综合导航| 国产一区二区在线不卡| 亚洲国产精品嫩草影院| 精品无码国产污污污免费网站 | 国产精品一二三在线| 乱人伦中文视频在线| 亚洲高清不卡av| 中文字幕在线观看视频一区| 亚洲一区二区黄色| 一级二级黄色片| 成人动漫一区二区在线| 国产成人黄色网址| 国产日韩欧美三区| 中文字幕精品—区二区日日骚| 岛国成人av| 国产美女直播视频一区| 麻豆成全视频免费观看在线看| x99av成人免费| 天堂成人在线| 欧美一区二区高清| 青青艹在线观看| 午夜精品一区二区三区电影天堂| 在线看片中文字幕| 91麻豆国产自产在线观看| 99精品视频国产| 久久久www| 日韩av中文字幕第一页| 亚洲乱码免费伦视频| 欧美日本亚洲| 精品国产导航| 91免费看蜜桃| 亚洲综合资源| 国产精品色悠悠| 伊人久久综合一区二区| 欧美激情网站在线观看| 九色porny丨首页在线| 亚洲欧美在线播放| 日本加勒比一区| 欧美一级理论片| 国产一区二区在线视频观看| 欧美在线三级电影| 成人毛片18女人毛片| 亚洲一区二区三区四区不卡| 国产真实乱在线更新| 国产精品国产三级国产三级人妇| www.色多多| 95精品视频在线| 中文字幕三级电影| 成人综合婷婷国产精品久久蜜臀 | 99精品欧美一区二区蜜桃免费| 视频区 图片区 小说区| 麻豆成人综合网| 日韩av片网站| 日韩电影一区二区三区| 欧美极品欧美精品欧美| 亚洲精品乱码久久久久久蜜桃麻豆| 国产一级大片免费看| 自拍偷拍欧美| 青青视频免费在线| 国产综合网站| 无码粉嫩虎白一线天在线观看| 一区久久精品| 国产精品专区在线| 亚洲精品九九| 国产精品-区区久久久狼| 一本久道综合久久精品| 一女被多男玩喷潮视频| 亚洲一区图片| 熟女人妇 成熟妇女系列视频| 免费在线日韩av| 国产1区2区在线| 男女性色大片免费观看一区二区| 日本在线一二三区| 国产在线日韩欧美| 四虎1515hh.com| 大白屁股一区二区视频| 精品人妻伦一二三区久| 91蜜桃在线免费视频| 妺妺窝人体色WWW精品| 中文字幕高清一区| 美女的奶胸大爽爽大片| 亚洲一区在线观看免费观看电影高清| 国产无套内射又大又猛又粗又爽 | 和岳每晚弄的高潮嗷嗷叫视频| 国产欧美69| 亚洲福利精品视频| 国产精品中文字幕日韩精品| 亚洲v在线观看| 26uuu色噜噜精品一区| 卡一卡二卡三在线观看| 亚洲免费高清视频在线| 日本特黄特色aaa大片免费| 色一情一乱一乱一91av| 亚洲熟妇av乱码在线观看| 日韩精品一区国产麻豆| 欧美视频综合| 欧美不卡视频一区发布| 午夜激情电影在线播放| 国产欧美日韩丝袜精品一区| 天堂精品在线视频| 蜜桃麻豆91| 天天综合国产| 成人一对一视频| 卡一卡二国产精品 | 亚洲视频在线a| 国产激情一区二区三区| 精品欧美一区二区久久久| 亚洲女同一区二区| 91精品国产高清一区二区三密臀| 91精品久久久久久蜜臀| 深夜福利在线看| 欧美成人中文字幕在线| 在线黄色的网站| 91国产在线播放| 国产精品美女久久久久久不卡| 中文字幕一区二区三区精彩视频| 亚洲免费激情| 午夜激情视频网| 国产亚洲一区字幕| 黄色一级视频免费观看| 在线观看中文字幕不卡| 女人18毛片一区二区三区| 中文国产亚洲喷潮| 欧亚av在线| 97se亚洲综合| 日韩av免费大片| 日韩视频第二页| 国产成都精品91一区二区三| 久久久精品成人| 一本一道波多野结衣一区二区| 精品国产亚洲AV| 中文字幕日韩在线观看| 粉嫩一区二区三区| 精品国产一区二区三| 欧美阿v一级看视频| 日韩在线不卡一区| 国产农村妇女精品| 91精品国产乱码久久久张津瑜| 日韩视频一区在线观看| 久久日韩视频| 国产精品白嫩美女在线观看| 麻豆精品av| 无码人妻少妇伦在线电影| 国产精品亚洲人在线观看| 懂色av蜜臀av粉嫩av永久| 欧美这里有精品| 国产福利片在线| 国产精品jizz在线观看麻豆| 欧洲精品一区| 国产黄视频在线| 97精品电影院| 国产免费观看av| 日韩精品视频免费专区在线播放| 欧美1—12sexvideos| 97伦理在线四区| 午夜精品免费| 亚洲性图第一页| 亚洲高清在线精品| 婷婷综合激情网| 91av在线国产| 亚瑟一区二区三区四区| 欧美牲交a欧美牲交aⅴ免费真 | 欧洲精品码一区二区三区免费看| 国产精品日本| 欧美做受xxxxxⅹ性视频| 色www精品视频在线观看| 国产私人尤物无码不卡| 国产精品扒开腿爽爽爽视频| 欧美亚洲激情| xxxx在线免费观看| 亚洲美女淫视频| 亚洲xxxx天美| 91精品91久久久久久| 亚洲精品无吗| 狠狠干狠狠操视频| 亚洲色图欧美激情| 亚洲精品字幕在线| 97在线视频免费| 精品成av人一区二区三区| 一级片视频免费观看| 日韩理论片一区二区| 亚洲第一天堂在线观看| 1769国产精品| 欧美日韩一二三四| 国内精品国产三级国产aⅴ久| 亚洲午夜在线电影| 欧美美乳在线| 国产欧亚日韩视频| 在线国产精品一区| 性高潮久久久久久久| 欧美精品乱码久久久久久| 超碰在线资源| 欧美日韩在线不卡一区| 国内精品伊人久久久久av一坑| 精品无码久久久久久久久| 亚洲免费精彩视频| www一区二区三区| 国产肥臀一区二区福利视频| 亚洲国产成人自拍| 亚洲精品人妻无码| 国产精品99导航| 欧美日韩国产高清| 国产sm调教视频| 日韩欧美成人激情| 午夜精品久久久久久久久久蜜桃| 色撸撸在线观看| 26uuu精品一区二区| 国产一区二区三区在线观看| 国产91精品久久久久久| 99久久精品国产亚洲精品 | 男操女免费网站| 亚洲一区二区三区四区五区黄| www.成人.com| 国产亚洲欧美一区二区| 极品少妇xxxx精品少妇偷拍| 中日韩精品视频在线观看|