陣列長度:sizeof(arr)/sizeof(arr[0])
陣列名arr表示整個陣列,只在下列情況中成立:
1、在定義陣列的同一函式中,求sizeof(arr)
2、在定義陣列的同一函式中,&arr+1,加整個陣列大小,其他情況陣列名都表示陣列首元素的位址。
字串(%s):以「\0」結尾的一串字元,字串結尾標識為"\0"。只有用雙引號包括的才是字串,一定有」\0「結尾。
char arr[5]=;//沒有「\0",不是字串
shot brr[5]=;
char crr=;//5個,不是字串
char drr[5]=;//是字串(陣列)
char err[5]=「abcde」;//6個,有「\0」
char frr[5]=「ab\0ef」;//輸出:ab
char err=「abcde」;//6,字元陣列,能修改
char *hrr=「abcde」;//4,字串常量,不能修改
strlen(str);求字串str的有效長度,不包含\0
sizeof(a);求a的位元組數
int main()
字串和字串陣列
字串陣列 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n n...
字串和字串陣列和 0
c語言中字串為什麼要有 0呢?0在字串中的作用是什麼 0 在字串中標誌著結尾 用來判斷這個字串已經結束 如果不新增 0 系統就在記憶體中一直向後讀,直到讀到 0 為止 這個情況就造成錯誤 乙個語句結束了,就用分號 表示結束 首先要區分,字元,字元陣列,字串的區別。字串預設的最後會有 0 char k...
字串和字元陣列
void test1 函式test1中,指標str1所指向的字串有11個元素。一定要注意字串是以 0 為結尾的,而strcpy拷貝了整個字串包括 0 所以存在下標越界的問題。void test2 函式test2中,字元陣列str1包含10個元素。陣列str1並不是以 0 結束,所以不能作為字串使用。...