如何重置来自struct的数组
发布时间:2020-12-16 09:23:07 所属栏目:百科 来源:网络整理
导读:我创建了这个结构: typedef struct { char* id; char* name; int birthYear; int finishedCourses; double avarage; int coursesNow; int courses[MAX_COURSES_YEAR];}Student; 现在我正在尝试设置一系列课程. 这就是我写的: s1.courses[] = {5,4,3,2}; 而
我创建了这个结构:
typedef struct { char* id; char* name; int birthYear; int finishedCourses; double avarage; int coursesNow; int courses[MAX_COURSES_YEAR]; }Student; 现在我正在尝试设置一系列课程. 这就是我写的: s1.courses[] = {5,4,3,2}; 而错误是:
解决方法
通过初始化列表初始化数组仅在声明时允许.所以你可以这样做:
int arr[] = {1,2,5}; 但你做不到: int arr[5]; arr = {1,5}; 你必须使用循环或memcpy: int tmp[] = {1,5}; // method 1 for(int i = 0; i < sizeof(tmp) / sizeof(*tmp); i++) { arr[i] = tmp[i]; } // method 2 memcpy(arr,tmp,sizeof(tmp)); 您还可以利用复合文字并省去tmp数组: memcpy(arr,(int []) {1,5},sizeof((int []) {1,5})); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 防止factory_girl加载spec / factories /
- SQLite入门
- C#无法加载DLL(无法找到模块HRESULT:0x8007007E)
- 从PostgreSQL RDS实例发送通知(没有pg_notify)?
- ruby-on-rails – 如何将i18n_scope存储为在Rails 4上进行模
- 变量以vb.net中的点/句点开头是什么意思?
- 使用minukube部署kubernetes admission webhook实现etcd po
- Content Provider与SQLite结合使用
- 如何用Cocos2d-iPhone画一条线
- ruby – 如果我按照链接,Heroku上的Sinatra应用程序会响应F