水木社区手机版
首页
|版面-C程序设计语言(CProgramming)|
新版wap站已上线
返回
1/1
|
转到
主题:有什么语法技巧实现“变长数组给指针赋值”吗?
楼主
|
iidev9
|
2023-11-27 23:35:13
|
展开
比如有个
struct A{
int *p;
int num;
};
A g_arr[2] = {
{{1,2,3},3},
{{1,2,3,4,5},5}
};
以上,我希望p指向一个数组首地址,这个数组就是初始化列表里的{1,2,3}。
当然,这样是可以的,但q1的定义有点多余。
int q1[]={1,2,3};
int q2[]={1,2,3,4,5};
A g_arr[2] = {
{q1,3},
{q2,5}
};
--
FROM 114.249.185.*
3楼
|
iidev9
|
2023-11-28 21:45:28
|
展开
如果编译器能支持,我就不用额外定义一个q1这样的变量了
【 在 fieldingzhu 的大作中提到: 】
: {1, 2, 3}是个常量,哪来的地址,只有q1这种变量谈地址才有意义
--
FROM 114.249.185.*
4楼
|
iidev9
|
2023-11-28 21:46:20
|
展开
主要是不直观,如果这些配置数据能集中在一起就好了
【 在 slowaction 的大作中提到: 】
: 既然是变长,那就放弃静态赋值吧
: 直接把指针指向你的数据地址就行了
--
FROM 114.249.185.*
7楼
|
iidev9
|
2023-11-30 00:00:31
|
展开
你可能没理解我的需求
我只是想要把这些配置数据放在一起写,分开来放到不同变量里是可以的,但看数据不方便,需要来回翻页
【 在 fieldingzhu 的大作中提到: 】
: 那你不如创建一个函数,动态创建数组然后返回地址
--
FROM 114.249.185.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版