程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> strlen 字符型數組和字符數組 sizeof和strlen的區別 cin.get(input,Arsize),cin.getarsize

strlen 字符型數組和字符數組 sizeof和strlen的區別 cin.get(input,Arsize),cin.getarsize

編輯:C++入門知識

strlen 字符型數組和字符數組 sizeof和strlen的區別 cin.get(input,Arsize),cin.getarsize


strlen
strlen所作的僅僅是一個計數器的工作,它從內存的某個位置(可以是字符串開頭,中間某個位置,甚至是某個不確定的內存區域)開始掃描,直到碰到第一個字符串結束符'\0'為止,然後返回計數器值(長度不包含'\0')。
指實際字符串或字符數組的實際長度(不是所占空間的字節數)。
函數原型
extern unsigned int strlen(char *s)
意思是,他從指針指向的某個地址開始掃描,並讀取字符,一直讀到'\0'為止,不包括'\0'
strlen用於字符數組或者指針

字符型數組
char B[]={‘a’,’e’,’s’,’r’,’q’};
末位沒有'\0',表示數組元素都是字符型

字符數組
char C[]={"abcdef"};
數組元素也是字符型,但是末位有'\0'

char D[]={'a','c','q','f','w'}; 
i=strlen(D);  //這樣,由於沒指定D的內存分配大小,用strlen求其長度會造成錯誤。

  數組或字符串的長度
sizeof()---求所占的字節數
1、對於整型字符型數組
2、對於整型或字符型指針
strlen()---字符數組或字符串所占的字節數
1、針對字符數組
2、針對字符指針
sizeof()返回的是變量聲明後所占的內存數,不是實際長度,此外sizeof不是函數,僅僅是一個操作符,strlen是函數。 

實用模板時,需要對臨時參數進行初始化,例如T temp=T(0)。

cin.get(input,Arsize)將一直讀取輸入,直到到達行尾或讀取了ArSize-1個字符為止。

自動變量是棧,動態存儲或自由存儲是堆

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved