C中一个数组的问题
我定义了一个数组,比如说int a[5]这是可以的,但是这个数组的大小(50)我在下面经常要用到,程序调试过程中如果觉得这个数字小了可能需要进行改变,比如说改变成100,这样我就需要把下面所有5都改成100,太麻烦了,那么怎么能解决呢?
我知道C不能定义动态数组,所以我尝试
#define abc (50)
int a[abc]
但是不行,又想不到什么别的方法可以简化,请教高手
数组一单声明,他的数据大小就固定了,你可以用动态的分配空间。
可以用malloc动态申请,用free释放
用vector 中的resize函数
动态开辟或者使用vector
C/C++ code:
#include <assert.h>
/* You can change size to anything you want */
array_new( size_t size ) {
assert( size > 0 && size < INT_MAX );
int *a = (int *) malloc( sizeof( int ) * size );
return a;
}
数组声明的时候 需要指定大小
需要动态改变,可以采用其他结构,如vector等
C语言用malloc来动态分配
如果说是调试的时候需要把数字变大,用
#define abc 20
这样就不要手动更改程序中abc的值。
如果是程序运行需要,而更改abc的值,用动态分配吧
嗯
有个函数可以重新分配空间豆嘛,
可以动态开辟,然后再把原来的内容拷过去
相关问答:
问题一:
在对齐为4的情况下
struct BBB
{
long num;
char *name;
short int data;
char ha;
short ba[5];
}*p;
p=0x1000000;
p+0x200=____;
(Ulong)p+0x200=____;
(char*)p+0x200=____;
假设在32位C ......
#include"stdio.h"
#include"stdlib.h"
void ContrTwo(char i)
{
char str1[8];
itoa(i,str1,2);
printf("%s",str1);
}
unsigned char leftRot(char str,int i);
unsign ......
SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html
......
分别用结构化方法和面向对象方法编程实现下面要求:
对Circle和Rectangle实现以下功能Center,Move,Rotate,Print.
自己先订以下,这是一个刚学习计算机的人问我的
学习,看看
继续顶哦
学习了。
go o ......
有一10*10矩阵,除去第一个点(0,0)和最后一点(9,9),还有八个点为1,其他都为0,要求用二维数组表示。八个点是随机生成的,编写相关程序表示矩阵所有可能情况。
真心求教各位高手,哎!本人太菜了!呵呵!
......