Sizeof與Strlen的區別與聯繫

1、 sizeof:

sizeof(...),是一個運算符,定義爲unsigned in類型,其大小在編譯期間決定的,參數可以是基本數據類型、數組、指針、對象、函數等。

功能:獲得保證能容納實現所建立的最大對象的字節大小。

   數組:數組所佔空間字節數:

   指針:存儲該指針所用的空間大小

   對象:該對象所佔內存空間大小

二、strlen:

     strlen(...)是函數,要在運行時才能計算。參數必須是字符型指針(char*)。當數組名作爲參數傳入時,實際上數組就退化成指針了。
     功能是:返回字符串的長度。該字符串可能是自己定義的,也可能是內存中隨機的,該函數實際完成的功能是從代表該字符串的第一個地址開始遍歷,直到遇到結束符NULL。返回的長度大小不包括NULL

	TCHAR* str0 = _T("12345");
	TCHAR buf[100] = _T("Hello");
	TCHAR buf1[100];

	_tcscpy(buf,str0);
	int len = _tcslen(buf);//結果:5
	len = sizeof(buf); //結果:200


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