问下几个c++ 声明的改错题

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:06:17
最近课多 c++脱节了。基础题几道,搞不清楚,谢谢了
1)extern int test(int);
int (*func)(int);
func=&test();
(*func)++;
2)char *depart;
char name[30];
int int_array[3];
depart="Computer Science";
name="Liu Bing";
int_array={1,2,3};
3)char name[4][]={"Computer","Department","Software","Engineering"};
float salary[][2]={1,2,3,4,5,6};
int max_number=4;
double amoumnt[max_number];

1. extern int test(int);
int (*func)(int);
func=test; //把test的入口地址付值给func
(*func)++; //函数指针不能++, 调用函数直接用int result = func(param);

2.
depart="Computer Science";
name="Liu Bing";
int_array={1,2,3};
只有在初始化时候才能付值

char* depart="Computer Science";
char name[30]="Liu Bing";
int int_array[3]={1,2,3};
要么就定义好, 用char*和数组strcpy, int数组一个个付值

3.
char* name[]={"Computer","Department","Software","Engineering"}; //由计算机自动分配内存
float salary[][2]={{1,2},{3,4},{5,6}}; //float salary[][2]={1,2,3,4,5,6}; 也可以, 计算机会自动匹配, 括起来对程序员来说清楚点
int max_number=4;
double amoumnt[4];//初始化数组不能用变量