数组定义的问题

白发苍苍十指僵 2011-02-24 05:01:32
想从配置表中读入一个字符串,将这个字符串作为数组的名字,请问怎么定义数组?
...全文
176 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaosifuti 2011-02-27
  • 打赏
  • 举报
回复
可以定义一个接口,传入字符串,返回数组指针。
内部实现可以用链表,每个节点是一个字符串带一个内存块。
但是不知道在什么情况下需要这个功能?呵呵
谭海燕 2011-02-26
  • 打赏
  • 举报
回复
C语言,还真很难。
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bonny95 的回复:]
这种问题在C语言里面还是定义一个struct吧,把读入的字符串和要定义的数组联系起来。
[/Quote]

恩,对的,现在我就是在想有什么好的方法使他们联系起来的。
yong_f 2011-02-25
  • 打赏
  • 举报
回复
C语言是不可以,编译的时候必须指定,要不编译器不可能通过。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 masmaster 的回复:]
shell下可以这么玩玩

root@~ #cat a
abc
def
efg
root@~ #set|grep def
root@~ #eval "$(sed -n 2p a)=($(seq 5))" #将seq生成的序列作为数组def的元素。
root@~ #set|grep def
_=$'def=(1\n2\n3\n4\n5)'
def=([0]="1" [1]="2"……
[/Quote]

恩,先谢谢了,我得用C语言编写的。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 justkk 的回复:]
你是说数组的名字是动态可变的?够呛吧
[/Quote]

恩,是的,有什么好的方法吗?用C编写。
井朝天 2011-02-25
  • 打赏
  • 举报
回复
不可能的!数组的名字在编译时就确定了,而你的字符是在运行时才获取到的。
bonny95 2011-02-25
  • 打赏
  • 举报
回复
这种问题在C语言里面还是定义一个struct吧,把读入的字符串和要定义的数组联系起来。
masmaster 2011-02-24
  • 打赏
  • 举报
回复
shell下可以这么玩玩

root@~ #cat a
abc
def
efg
root@~ #set|grep def
root@~ #eval "$(sed -n 2p a)=($(seq 5))" #将seq生成的序列作为数组def的元素。
root@~ #set|grep def
_=$'def=(1\n2\n3\n4\n5)'
def=([0]="1" [1]="2" [2]="3" [3]="4" [4]="5")
root@~ #echo ${def[@]}
1 2 3 4 5
root@~ #
justkk 2011-02-24
  • 打赏
  • 举报
回复
你是说数组的名字是动态可变的?够呛吧

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧