77问答网
所有问题
当前搜索:
数组指针malloc
如何在运行期设定
数组
的大小?怎样才能避免固定大小的数组?
答:
1、在运行期间设定
数组
大小,不同的编程语言的处理方式是不一样的。2、vb6使用动态数组来处理,c可以用
malloc
等函数申请空间来实现。3、以vb6使用动态数组来示例:Option ExplicitDim a() As Integer '定义动态数组Private Sub Command1_Click() Dim N As Integer, i As Integer N = Val(Input...
C语言中
数组
长度不能用变量定义吗?
答:
int a[n];可改为 int* const a = (int*)
malloc
(sizeof(int)*n);这样a变量就完全可以当作一个
数组
直接使用了,包括a[1]之类的。因为“[]”中括号运算符做的只是偏移其内的地址数并取值。如:a[1]等价于 (a + 1)而const修饰符在星号之后,则表示
指针
在被声明后不能改变,即只能指向这个...
C语言,输入一
数组
,取出所有的前一个小于后一个的元素,组成新的数组,输 ...
答:
//
指针数组
for (int i = 0; i < len; i++) { tmp = (int *)
malloc
(sizeof(int)); // 一维数组,存储符合要求的数据 for (int j = 0; j < nums[i] - 1; j++) { if (
array
[i][j] < array[i][j + 1]) { tmp = (int ...
数组
赋值给
指针
后,取不到应取的值,求解?
答:
第一,
数组
不可以动态定义的,Create
Array
函数中的else分支应该会报错,甚至可能会编译不通过 第二,数组是在CreateArray函数内定义的,数组的数据存放在栈空间,当函数执行完毕后,定义的数组数据也会被释放了(如果栈空间被初始化了,自然就读取不到数据了)你可以把数组定义为全局变量,或者使用
malloc
和...
用二维
数组
和
指针
变量作函数参数,打印某门课成绩的最高...
答:
include<stdio.h> include<stdlib.h> int numOfClass=3;int numOfStu=4;int *getHighestScoreIndex(int (*scores)[numOfStu]){ int i,j;int *rtn = (int*)
malloc
(sizeof(int)*2);rtn[0]=0;rtn[1]=0;for(i=1; i<numOfClass; i++)for(j=1; j<numOfStu; j++)if(scores[i...
C++中new和delete比
malloc
和free有哪些优点?
答:
3.因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。4.C++程序经常要调用C函数,而C程序只能用
malloc
/free管理动态内存。5.new可以认为是malloc加构造函数的执行。new出来的
指针
是直接带类型信息的。而malloc返回...
int **p怎么指向二维
数组
?
答:
int a[SIZE][SIZE];int **p = a;这样是不行的 但是可以这样:int**p = (int**)
malloc
(sizeof(int*)*SIZE);for (int i = 0; i < SIZE; i++) { p[i] = (int*)malloc(sizeof(int)*SIZE);} 然后就可以这么用了 p[i][j]。想要指向二维
数组
,必须定义一个指向一维数组的
指针
...
关于C语言二组字符
数组
问题?
答:
include<
malloc
.h> include<string.h> void meError(void *p);//内存申请失败时报异常并结束程序 int main(){ int i;char cbuf;//用于接收输入的字符 int MaxR=0,sLen=1;//MaxR用于累计字符串个数 char **name=NULL,**nSave=NULL,*strSave=NULL;//name定义一个初始二维
数组指针
//---...
用C语言
指针
法,将一个含有m(m<10)个整数的一维
数组
中小...
答:
include<stdio.h>int main(){ int i = 0,j = 0,sum = 0; float a = 0; int m = 0; int *p ; scanf("%d",&m); p = (int *)
malloc
(4*m); for(i = 0;i < m;i ++) scanf("%d",p+i); for(i = 0;i < m;i ++) sum += *(p...
C语言怎么用
指针
代替二维
数组
答:
int* p=a[0];//此时P是指向一维
数组
的
指针
。P++后,p指向 a[0][1]。2.如果定义int (*p1)[n];p1=a;p1++后,p1指向a[1][0];则p+j将指向a[0]数组中的元素a[0][j]。由于a[0]、a[1]┅a[M-1]等各个行数组依次连续存储,则对于a数组中的任一元素a[i][j],指针的一般形式...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜