加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C中可变数量的变量

发布时间:2020-12-16 10:18:14 所属栏目:百科 来源:网络整理
导读:是否可以生成可变数量的变量?例如,假设我想声明一些未知数量的整数,是否有办法让代码自动声明 int n1;int n2;...int nx; 其中x是所需变量的最终数量. 需要这个的潜在应用程序将读取具有未知行数和列数的.csv文件.现在,我认为在没有可变数量的变量的情况下做
是否可以生成可变数量的变量?例如,假设我想声明一些未知数量的整数,是否有办法让代码自动声明

int n1;
int n2;
.
.
.
int nx;

其中x是所需变量的最终数量.

需要这个的潜在应用程序将读取具有未知行数和列数的.csv文件.现在,我认为在没有可变数量的变量的情况下做到这一点的唯一方法是2D向量,或者编码在更多列中,而不是可能在程序接收的任何输入文件中

解决方法

是. (更好,更可能!)

int x[100]; //100 variables,not a "variable" number,but maybe useful for you!

int *px = new int[n];// n variables,n is known at runtime;

//best
std::vector<int> ints; //best,recommended!

在这里阅读std :: vector:

http://www.cplusplus.com/reference/stl/vector/

另见std::list和其他STL容器!

编辑:

对于多维,您可以使用:

//Approach one!
int **pData = new int*[rows]; //newing row pointer
for ( int i = 0 ; i < rows ; i++ )
     pData[i] = new int[cols]; //newing column pointers

//don't forget to delete this after you're done!
for ( int i = 0 ; i < rows ; i++ )
     delete [] pData[i]; //deleting column pointers
delete [] pData; //deleting row pointer

//Approach two
vector<vector<int>> data;

使用适合你的任何东西,简化你的问题!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读