如果定義如下:
char x[] = "abcdefg";
char y[] = {'a','b','c','d','e','f','g'};
那為什么 arrayx不等于 array y?
uj5u.com熱心網友回復:
手動創建陣列時,選擇放或不放結束字符“\0”,但是當C編譯器讀取第二種創建陣列的方式時,會自動添加結束字符,所以它是不同的,因為長度不同。
您還可以使用以下示例進行測驗,
#include <stdio.h>
int main(void) {
printf("%zu\n", sizeof(x));
printf("%zu\n", sizeof(y));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/483815.html
上一篇:基于多列值對陣列行進行分組和過濾
下一篇:協議中的默認初始化程式
