C語言size_t和size_type比較

size_tsize_t是用於數組的下標值類型,也可以用來“接收”sizeof操作符的返回值。

1、既然是無符號的,,一般只能用在沒有負數的地方了,比如我們的年齡啊,身高啊。在c標準函數中,最一般的就是strlen,返回字符數。字符數當然不可能是負的啊,所以函數原型是size_t strlen(const char*) ;size_t是表示長度(尺寸)的類型,這個類型是由 typedef unsigned int size_t; 定義的,一般用於保存一些長度信息,比如數組的長度、字符串的長度等;

2、size_type是容器配套類型,使用前需要加作用域比如string::size_type(string可看作字符容器,但不是類模板)數組的定義聲明等應當使用size_t類型,如果不得不使用int作下標,應當使用unsigned避免越界。至於size_type類型無法轉換……也許字符串流可以但是沒有試過。

例子:

數組中應用size_t的例子

問題描述:

反向輸出數組中的數

代碼:

#include

using namespace std;

int main()

{

const size_t a_size = 10;

int a[a_size];

for (size_t i = 0; i != a_size; i++)

{

a[i] = i;

}

for (int j = a_size - 1; j >= 0; j–)

{

cout << a[j] << endl;

}

return 0;

}

運行結果如下:

9 8 7 6 5 4 3 2 1 0

3、總結:

size_type是容器概念,沒有容器不能使用 是的 size_t實際上就是unsigned int

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章