java char指针数组_sizeof与strlen使用,字符串指针数组
1.sizeof和strlen的使用示例:
2.對于字符串指針長度的查詢:
代碼示例:
char *AudioMode[7] = {"Type&","Mode&","Sample&","Bitrate&","Channel&","Save&","State&"};
char *aaaa = "12345678";
char c = '12345678';
int size_of_len,str_len_len,len;
size_of_len = sizeof(aaaa);
str_len_len = strlen(aaaa);
len = (sizeof(AudioModel)/sizeof(char *));
printf("size_of len = %d,str_len_len = %d\n",size_of_len,str_len_len);
printf("size of c = %d\n",sizeof(c));
printf("len ?= %d\n",len);
輸出結果為:
size_of len = 4, ?str_len_len =8
size of c = 1
len ?= 7;
解析:
sizeof計算的都是類型的長度。如果是對象,則轉換成類型,再計算類型的長度。在32位系統中。指針類型是32位,4個字節。所以對任何指針用sizeof結果都是4;
strlen(char*)函數求的是字符串的實際長度,它求得方法是從開始到遇到第一個'\0',如果你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到'\0'停止。
擴展
char aa[10];cout<
char aa[10]={'\0'}; cout<
char aa[10]="jun"; cout<
而sizeof()返回的是變量聲明后所占的內存數,不是實際長度,此外sizeof不是函數,僅僅是一個操作符,strlen是函數。
sizeof(aa) 返回10
int a[10]; sizeof(a) 返回40 (根據語言int型 c 是兩個字節 c++是四個 java 是兩個)
⒈sizeof操作符的結果類型是size_t,它在頭文件中typedef為unsigned int類型。
該類型保證能容納實現所建立的最大對象的字節大小。
⒉sizeof是操作符(關鍵字),strlen是函數。
⒊sizeof可以用類型做參數,strlen只能用char*做參數,且必須是以''\0''結尾的。
sizeof還可以用函數做參數,比如:
short f();
printf("%d\n",sizeof(f()));
輸出的結果是sizeof(short),即2。
總結
以上是生活随笔為你收集整理的java char指针数组_sizeof与strlen使用,字符串指针数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VB-VB.NET中 从字符串“XX”到
- 下一篇: 算法导论13-1节习题解答