社区
C语言
帖子详情
一个比较精辟的问题0.0
yousikyzll
2012-08-30 10:59:14
一个学生管理系统 预先宏定义一个人数 N :#define N 10;
我输入十个人以后,我又想添加一个人;
我在程序中 进行自增操作 N++,请问这个有用吗?
(student是结构体类型) 如果没用的话,那怎么办?整个程序中我都用的student stu[N],student *stu_=stu;
...全文
362
23
打赏
收藏
一个比较精辟的问题0.0
一个学生管理系统 预先宏定义一个人数 N :#define N 10; 我输入十个人以后,我又想添加一个人; 我在程序中 进行自增操作 N++,请问这个有用吗? (student是结构体类型) 如果没用的话,那怎么办?整个程序中我都用的student stu[N],student *stu_=stu;
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
天外淡云
2012-09-02
打赏
举报
回复
显然不能修改
可以这么写:
static int iNumPeople = 10;
//......
i++;
i是全局的,i++写在函数里面
程序员牛哥
2012-09-02
打赏
举报
回复
用个配置文件。。呵呵,
秀小川
2012-09-02
打赏
举报
回复
宏定义显然不可以这样用啊!
didijiji
2012-09-02
打赏
举报
回复
百度,谷歌宏定义。
HBack
2012-09-02
打赏
举报
回复
太神奇鸟
hpyovo
2012-09-02
打赏
举报
回复
标题党 鉴定完毕。
SillyBenzhu
2012-09-01
打赏
举报
回复
亲,那是会报错底。你用全局变量不就得了,嘎!
gfzeng
2012-08-31
打赏
举报
回复
这样就变成了10++, 常量++操作没有见过, 编译器应该会报错
enevil
2012-08-31
打赏
举报
回复
楼主标题党。。这个问题 哪里精辟了。
moxigenuanliu
2012-08-31
打赏
举报
回复
#define N 10
仅仅是用 N 替换 10
换句话说,N就是10,是个常量
你可以引用常量头,但不能改变常量
赵4老师
2012-08-31
打赏
举报
回复
宏定义展开在编译期实现
N++在运行时实现
AnYidan
2012-08-31
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:
C/C++ code
#define N 11
,这样不就可以了吗?
汗,我的意思是我随时都可能要添加或删除一些信息
[/Quote]
google: malloc, realloc, calloc
z8323664
2012-08-31
打赏
举报
回复
+1就行了 而且更直观把。
wanglu343280746
2012-08-31
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
C/C++ code
#define N 11
,这样不就可以了吗?
[/Quote]
++
定义宏的原因之一就是便于修改代码,要懂得利用。
xxb249
2012-08-31
打赏
举报
回复
不可以 因为define 定义的是常量 不能进行++预算
baichi4141
2012-08-31
打赏
举报
回复
别再发明新的预编译功能了新手们
#define就是简单的替换
www_adintr_com
2012-08-31
打赏
举报
回复
显然不行.
宏定义是直接替换, 你的代码等价于 student stu[10];
数量要变化, 你应该使用 malloc
int N = 0;
// 任何改变 N 的操作
student *p = malloc(sizeof(student) * N);
自由建客
2012-08-31
打赏
举报
回复
病态设计
proorck6
2012-08-31
打赏
举报
回复
#define是在编译前执行的,如果需要运行时特性,可以使用变量。
int N=10;
N++;
hong_qi
2012-08-30
打赏
举报
回复
你的情况正适合用STL库。
#include<vector.h>
vector<student> stus;
student t1;
stus.push_back(t1);
加载更多回复(3)
关于数字
比较
的格式统一
问题
有时候真的是这样,
一个
看似很简单的东西,往往隐含着和想象中不一样的结果。看下面一段代码unsigned int b , c ;int a ;b = 5 ;c = 10 ;if(0>b-c)a = 0 ;elsea = 1 ;如果问执行完上面一段语句,a的值是几,可能许多人都说是0实际上,结果是 1,如果不信可以试一试,至少我在VC6.0下试过,确实是
《三国演义》中最
精辟
的十句话赏析
《三国演义》中最
精辟
的十句话赏析 “人中吕布,马中赤兔” 一共八个字却称赞了两件事物,足可见微言大义的春秋笔法。而且朗朗上口,妇孺皆宜。后来关羽虽然也得到了赤兔,但也没听别人这么说过,估计作者肯定是吕温侯的FANS,否则也不会这么肉麻。 “马氏五常,白眉最良” 老马家五个儿子,为大家熟知...
Java认证之
精辟
总结
Java认证之
精辟
总结 1.switch里面只能是short,int,char,byte的. 2.if (a="a") 编译错, if(a=false)编译ok,原因是a=false的a代表了个boolean值 3.这种写法Outer.Inner i = new Outer().new Inner(); OK! 4.文件里, 8 默认是int, 8.0默认是doub
nand flash 裸板驱动,介绍的
比较
精辟
NAND Flash的驱动程序设计 http://www.usr.cc/html/99/n-599.html 1. 硬件特性: 【Flash的硬件实现机制】 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。关于什么是非易失性/易失性,从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,也不会丢失,这类设备,除了Flas
C++ this指针详解(
精辟
)
C++ this指针详解(
精辟
) this 是 C++ 中的
一个
关键字,也是
一个
const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。 所谓当前对象,是指正在使用的对象。例如对于stu.show();,stu 就是当前对象,this 就指向 stu。 下面是使用 this 的
一个
完整示例: #include <iostream> using namespace std; class Student{ public: void setname(char *name);
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章