首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ 字符數組初始化錯誤:聲明未指定大小且未初始化無法賦值

     編輯:程式設計綜合問答

錯誤代碼


char str[];
str = "i love china"; // 編譯錯誤

原因分析

  • char str[]; 為不完全類型,未指定大小且無初始化列表,編譯器無法分配存儲空間。
  • 數組名 str 為常量指針,不可作為左值整體賦值。

正確寫法


// 1. 定義時初始化(編譯器自動計算長度)
char str[] = "i love china";

// 2. 指定大小再複製
char str[20];
strcpy(str, "i love china"); // 需 #include 

// 3. 使用 std::string (推薦)
std::string str = "i love china";

最佳回答

在定義數組時一般要指明數組長度,如果定義時直接初始化,可以不指定長度,如:char str[]="i love china"; 所以你的寫法在語法上是錯誤的。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved