2 u010026650 u010026650 于 2013.12.10 11:08 提问

c语言动态数组的问题,求解答

怎么用c语言定义一个不知道维数的二维数组,比如定义一个字符数组,存放几段(段数未知)不同长度(长度未知)的字符串

3个回答

qiaolin19890323
qiaolin19890323   2013.12.10 15:20
已采纳

用指针数组,每一维都是一个指针元素,每个指针可以指向一段不定长的字符串或数字。

jinqmao
jinqmao   2013.12.10 11:44

用指针数组就可以了,对应存储空间随用随申请,记得释放就可以

u013104501
u013104501   2013.12.10 15:53

int n;
char *A=new char[n];
cin>>n;
高手们是不是把问题想复杂了,我就渣渣一枚,只能想到这个。

u010026650
u010026650 因为事先不知道n的值,无法用输入解决
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言中怎么求动态数组大小
先来个简单的例子 int a[] = {1,2,3}; int arr_len = 0; arr_len = sizeof(a)/sizeof(int); 解释:sizeof() 关键字是求出对象所占用的内存空间的大小,so, sizeof(a)是算出整个数组占用的空间的大小。 因为是整数数组,一个整数在32位系统上占用4个字节,不同的系统数值可能不同, 用sizeof(int)
动态数组实现输出全班平均成绩
问题描述 输入全班的学生人数及其成绩,计算平均成绩……
《C语言及程序设计》实践参考——动态数组排序
返回:贺老师课程教学链接【项目2-动态数组排序】编一个程序,输入某班某门课的成绩,进行排序后输出。成绩可能为小数。班级人数不定,要求采用动态数组完成。在下面代码基础上完成#include #include int main() { int count, i,j; float *pf; scanf("%d", &count); //输入班级人数
魔方数组的C 语言实现以及算法
最近复习完C语言,想做点可以锻炼自己的小项目,于是发现了一本叫《C语言程序设计实例精粹》的书,感觉很适合我,于是就打了几个感觉比较好玩的程序吧,也是锻炼自己读代码和写代码的能力,我也会不定期的更新一些适合新手练习的程序以及算法,程序上边有比较详细的注释和讲解,有共同爱好的可以交流一下。 这个程序为设计魔方数组的一段程序,也是设计魔方数组的一种算法,其实我感觉这本书上的这种算法不好用,比较复杂,而
C语言动态数组原理及实现
近来编写几个程序,很多都用到了数组。但是对于数组的大小却是没有固定的,也就是说可以更改数组大小,其大小是可以变化的。并不像初学时的那样,告诉你一个范围,你就必须取最大值以满足要求。那样可能就会浪费很多不必要的内存单元!那么到底应该怎样定义一个动态数组列?             在数组一章中,曾介绍过数组的长度是预先定义好的, 在整个程序中固定不变。C语言中不允许动态数组类型。例如: int n
实现动态二维数组(行列式)的转置
在网上看到的程序大多转着转着又转回去了,于是自己写了一个,试了几组都可以转,有什么问题希望大家能够指出。#include<stdio.h>#include<malloc.h>int main(){ int **array=NULL,i,j,n,m,temp; scanf("%d%d",&n,&m); array=(int **)malloc(n*sizeof...
c语言中二位动态数组
最近在用C解leetcode题目时,碰到一题需要返回一个动态二维数组的头指针,搞了半天才弄好。          用c语言创建二维动态数组有两种方式。 1.     转化为指针数组申请,代码如下。 const int cols = 10; int rows = 10; int(*p)[cols]; p = (int(*)[cols])malloc(rows*cols *sizeof(i
一维动态数组的实现(c语言)
编程输入一个班的某课程的学生成绩,计算其平均分,然后输出。班级人数由键盘输入。#include <stdio.h> #include <stdlib.h> main() { int *p = NULL,i,n,sum; printf("Please enter array numbers: "); scanf("%d",&n); p = (int*)malloc(size
动态数组求n个数的和还有平均数 --- 蓝桥杯
#include #include using namespace std; int main() { int n, sum = 0; cin >> n; for(int i = 0; i { int a; cin >> a; sum += a; } cout return 0; }
集合:求A、B两个集合的交集、并集和补集的代码(C语言)
集合:求A、B两个集合的交集、并集和补集的代码(C语言)     #include #define N 100 main(){ int a[N],b[N],c[N],d[N]; int aa[N],bb[N]; int i,j,k=1; int x=1,y=1,z; int m,n; int flag; printf("please input Number of A:\n"