char數(shù)組長度怎么計(jì)算 C語言char** 字符串?dāng)?shù)組長度如何獲取?
C語言char** 字符串?dāng)?shù)組長度如何獲?。咳绻沁@樣寫的,我個人估計(jì)你想把它作為一個參數(shù)寫在函數(shù)中。如果是這樣,建議添加一個附加參數(shù)unsigned int len,并使用len傳入相應(yīng)的長度。畢竟
C語言char** 字符串?dāng)?shù)組長度如何獲取?
如果是這樣寫的,我個人估計(jì)你想把它作為一個參數(shù)寫在函數(shù)中。如果是這樣,建議添加一個附加參數(shù)unsigned int len,并使用len傳入相應(yīng)的長度。畢竟,分配空間給它的人必須知道它的長度。就像一般的int main(int argc,char**argv)一樣,argc是參數(shù)數(shù)
unsigned char是一個無符號字符變量,而不是字符串,長度為一個字節(jié)。
strlen的參數(shù)必須是字符串,即以“0”結(jié)尾的字符數(shù)組。
對于unsigned char c[100],如果要用strlen(c)查找c的長度,必須在數(shù)組末尾添加字符“0”。它可以直接讀寫指定的數(shù)組元素,如C[50]=“0”,也可以在定義時初始化為字符串,如
unsigned char C[100]=“你好,世界!“
編譯器將自動將”0“寫入感嘆號后面的數(shù)組元素。
如何獲取一個unsignedchar*類型的字符串長度?
答案是a。a計(jì)算數(shù)組P的全長,即三個字符的長度。原因很簡單。數(shù)組名是數(shù)組的第一個地址。也就是說,P是指向整個數(shù)組的指針。當(dāng)然,整個陣列的長度是通過計(jì)算得到的。下面的答案都去掉了地址的值。例如,*q是第一個值,P[0]也是,sizeof(char)這個,更不用說,直接計(jì)算計(jì)算機(jī)中char的長度。所以答案是