前提・実現したいこと
food
という配列名に全角の文字列を代入したところ、以下のエラーメッセージが出ました。
調べたところ、代入している値がメモリの容量を超えているとのことでしたが何故超えてしまっているのかがわかりません。
値の中で一番文字数が多いのは「カレールー」と「かたくりこ」の5文字です。
全角文字なので1文字2バイト、最後に/0
がつくので合計11バイトですよね。
それならchar food[10][11]
でメモリは足りていると思うのですが何故足りないのですか。
発生している問題・エラーメッセージ
initializer-string for array of chars is too long [enabled by default]
該当のソースコード
C
1#include <stdio.h> 2#include <string.h> 3 4int main(void){ 5 6 char food[10][11]={"とりにく","カレールー","ライス","ぶたにく","かたくりこ","にんじん","トマト"}; 7 8}
回答2件
あなたの回答
tips
プレビュー