C语言中 各种指针定义到对比 联想2014秋笔试题目
2014-10-12 21:01
302 查看
今天在联想笔试遇到一个题目,是各种指针定义到对比,比较全面,记录一下。
1. int a;
整形变量;
2. int *a;
指向整形变量到指针;
3. int **a;
指向一个 指向整形变量的指针 的指针;
4. int *a[10]
指针数组,a array of pointers
元素表示:*a[i] *(a[i])是一样的,因为[]优先级高于*
5. int (*a)[10] 数组指针,a pointer to an array. 元素表示:(*a)[i]
6. int (*f)(int x) 函数指针,指向函数到指针。
7. int * f(int x) 指针函数,返回值是指针到函数。
2.C++ 调用 C语言到函数时为何加上 extern c?
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。
这个功能十分有用处,因为在C++出现以前,很多代码都是C语言写的,而且很底层的库也是C语言写的,为了更好的支持原来的C代码和已经写好的C语言库,需要在C++中尽可能的支持C,而extern "C"就是其中的一个策略。
3. 队列与堆栈到区别联系?
队列只能在队头做删除操作,在队尾做插入操作.
栈只能在栈顶做插入和删除操作,栈就是一个桶,后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来。
堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。
堆是指程序运行是申请的动态内存,而栈只是指一种使用堆的方法(即先进后出)。}栈是先进后出的,但是于堆而言却没有这个特性,两者都是存放临时数据的地方。
对于堆,我们可以随心所欲的进行增加变量和删除变量,不要遵循什么次序,只要你喜欢。
4. sizeof 与 strlen 到用法区别。
char a[200] = {0,1,2,3,4,5,6,7,8,9};
sizeof(a) = 200; strlen=10;
1. int a;
整形变量;
2. int *a;
指向整形变量到指针;
3. int **a;
指向一个 指向整形变量的指针 的指针;
4. int *a[10]
指针数组,a array of pointers
元素表示:*a[i] *(a[i])是一样的,因为[]优先级高于*
5. int (*a)[10] 数组指针,a pointer to an array. 元素表示:(*a)[i]
6. int (*f)(int x) 函数指针,指向函数到指针。
7. int * f(int x) 指针函数,返回值是指针到函数。
2.C++ 调用 C语言到函数时为何加上 extern c?
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。
这个功能十分有用处,因为在C++出现以前,很多代码都是C语言写的,而且很底层的库也是C语言写的,为了更好的支持原来的C代码和已经写好的C语言库,需要在C++中尽可能的支持C,而extern "C"就是其中的一个策略。
3. 队列与堆栈到区别联系?
队列只能在队头做删除操作,在队尾做插入操作.
栈只能在栈顶做插入和删除操作,栈就是一个桶,后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来。
堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。
堆是指程序运行是申请的动态内存,而栈只是指一种使用堆的方法(即先进后出)。}栈是先进后出的,但是于堆而言却没有这个特性,两者都是存放临时数据的地方。
对于堆,我们可以随心所欲的进行增加变量和删除变量,不要遵循什么次序,只要你喜欢。
4. sizeof 与 strlen 到用法区别。
char a[200] = {0,1,2,3,4,5,6,7,8,9};
sizeof(a) = 200; strlen=10;
相关文章推荐
- 2014-03-12周三C语言和win32编程的指针和定义对比
- 笔试训练-C语言常见的内存错误及野指针定义与解决
- 关于C语言各种指针的定义
- 一道关于二维数组和指针数组的C语言笔试题目
- 收录各种猥琐的Java笔试/面试题目
- 收录各种猥琐的Java笔试/面试题目
- [C语言]关于指针和int型的一道题目
- C语言笔试题目
- C语言:typedef定义函数指针
- C语言笔试题目
- c语言数组和指针差别——定义和申明不同造成的影响
- C语言数组与指针定义分析
- c语言复习笔记--指针定义
- 收录各种猥琐的Java笔试/面试题目
- 收录各种猥琐的Java笔试/面试题目
- 收录各种猥琐的Java笔试/面试题目
- C语言指针1-定义
- C语言中结构体指针的定义和引用
- 【笔试面试知识点查缺补漏深入理解之C与C++篇】C语言中的指针数组与数组指针
- 收录各种猥琐的Java笔试/面试题目