3. 笔试题---苏州绿控
来源:互联网 发布:非线性优化计算方法pdf 编辑:程序博客网 时间:2024/04/28 13:01
苏州绿控
1.变量的声明和定义
变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
2.函数的作用?
一个函数就可以看成一个模块。当用到某个函数功能时,就直接调用相关的函数。
函数是C程序最基本的功能单位。
3.分层+模块化的优缺点?
各模块相对独立、功能单一、结构清晰。
层次的缺点: 使系统把过多时间花在了下层对上层的解释当中,降低了程序运行效率”—-比如Linux的X Window,几层通信来通信去,就没有Windows窗口高效。-但这并不代表,Windows窗口没有模块化设计。
4.char aa[10];为什么strlen(aa)却不是10?
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,知道遇到’\0’停止。
char aa[10];cout<
char *str=[10];strcpy(str,"0123456789");//将会产生什么结果
分析:常字符串的长度为11,而数组的容量为10,将会造成程序中断。
2)
void getmemory(char *p){ p=(char*)malloc(100); strcpy(p,"Hello world");} int main(){ char *str=NULL; getmeory(str); printf("%s\n",str); free(str); return 0;}
//这是原来的函数,使用的是值传递方式
void GetMemory(char p){ p=(char )malloc(100); }
//这是正确的内存分配函数,使用的是双重指针,传递进来的是str的指针地址,*p就是原来的str
void GetMemory2(char *p) { *p=(char)malloc(100); }
//这是使用引用的内存分配函数
void GetMemory3(char* &p) { p=(char*)malloc(100); }
void Test(void){
char *str=NULL;
GetMemory(str); // 该函数做的工作是 p=str, p=malloc(100); 和str一点关系都没有,str=NULL;
//GetMemory2(&str); //该函数做的工作是 char**p=&str, str=*p=malloc(100),内存分配成功
//GetMemory3(str); // 传递的是str的引用,函数内的 p还是str,分配成功
strcpy(str, “Hello World!”); //现在可以 知道,第一个函数分配内存错误,strcpy也会失败
printf(“%s\n”, str); //输出只能是空
}
- 3. 笔试题---苏州绿控
- 微软笔试题(苏州)
- 绿盟科技笔试题
- 绿盟前端笔试题
- 绿盟笔试题(附答案)
- 浙江绿盟科技笔试题
- 苏州笔试题目
- 浙江绿盟科技2011.10.14校招笔试题
- 最新绿盟笔试试题
- 绿盟 笔试,面试小结
- 苏州科达(2013年)嵌入式工程师笔试题(编程)
- 2013 苏州/上海科达通信集团 校招笔试题 总结
- 华瑞网研(苏州)2014-11部分笔试题(社招)
- 苏州
- 苏州
- 苏州
- 浙江绿盟科技2011.10.14校园招聘会笔试题
- 浙江绿盟科技2011.10.14校园招聘会笔试题
- 云计算读书笔记0:云计算简介
- hdu 2136 Largest prime factor(素数打表)
- C# Dictionary用法总结
- C++ 虚函数表解析
- poj_3041 Asteroids(匈牙利算法+最小点覆盖)
- 3. 笔试题---苏州绿控
- 关于Java你应该掌握的基础知识—银行笔试必考(作者亲生经历的java试题)
- Java基础总结01
- 文章标题
- hdu 2510 符号三角形
- jsp中<>里面的东东
- MySQL explain执行计划解读
- 面试--高并发
- XCode8屏蔽系统log 真机调试NSLog没输出