找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1992|回復(fù): 4
收起左側(cè)

error C247: non-address/-constant initializer 這句C語言程序有什么問題?

[復(fù)制鏈接]
ID:97678 發(fā)表于 2022-11-30 15:19 | 顯示全部樓層 |閱讀模式
uint table1[]={a,f,g,h,j};
uint table2[]={q,w,e,r,t,y,o};


請幫忙看看這句程序是什么問題?
編譯時,提示如下錯誤:
error C247: non-address/-constant initializer


回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2022-11-30 19:58 | 顯示全部樓層
a,f,g,h,j不能是變量!
回復(fù)

使用道具 舉報

ID:405850 發(fā)表于 2022-12-1 08:25 | 顯示全部樓層
uint應(yīng)該不是變量類型,如果你要定義uint_t,那么{a,f,g,h,j}這些也不能是uint8_t類型,你要定義字符,可以使用char類型
回復(fù)

使用道具 舉報

ID:77589 發(fā)表于 2022-12-1 09:43 | 顯示全部樓層
如果要在聲明數(shù)組時初始化,填入數(shù)組的必須是常量,而你寫入的字母編譯器不認。
如果你真的是想用字母初始化數(shù)組,那么用下面的寫法:
uint table1[] = { 'a','f','g','h','j'};
uint table2[] = { 'q','w','e','r','t','y','o'};
如果單純的想定義一個字符串可以用以下寫法:
1、聲明char型數(shù)組
char table1[] = "afghj";
char table2[] = "qwertyo";
2、聲明char型指針
char* table1 = "afghj";
char* table2 = "qwertyo";
回復(fù)

使用道具 舉報

ID:97678 發(fā)表于 2022-12-1 10:13 | 顯示全部樓層
謝謝!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表