C/C++面试题汇总
来源:互联网 发布:av淘宝备用网址 编辑:程序博客网 时间:2024/05/29 03:02
请简单描述Windows内存管理的方法。
联合(union)和结构体(struct)所占内存
struct temp
{
unsigned short a;
unsigned short b;
unsigned short c;
};
答:大小为6
union temp
{
unsigned short a;
unsigned short b;
unsigned short c;
};
答:大小为2
char *str = "abcd";
str[1] = 'd';
编译正确;运行时出错
指针是不分配内存的,它指向的是系统的只读的内存,而数组是分配内存的,
就是将系统的只读的内存里面的值复制到它的内存里面,因此可读写
char * str = "abcd";
sizeof(str) 相当于sizeof(char*)=4//注:所有的指针大小都为4
sizeof(*str)=1相当于sizeof('a') = 1;//注:char * str = "abcd";中的每个字符都可访问(用str[i]),就是不能修改。
sizeof(str + 2)=4//指针大小
sizeof("abcd")=5;
.关于断言的相关知识
写出程序结果:
void Func(char str[100])
{
printf("%d\n", sizeof(str));
}
答案 100
int id[sizeof(unsigned long)];
这个对吗?为什么??
答:
对
这个 sizeof是编译时运算符,编译时就确定了
可以看成和机器有关的常量。
http://bbs.csdn.net/topics/310055283
(1)const char*p
(2)char const*p
(3)char *const p
(4)const char **p
(5)char const**p
(6)char *const *p
(7)char **const p
http://www.cnblogs.com/rushuizhijing/archive/2011/08/26/2154737.htmlinline函数
int g(int x) { return x + x; } int f() { return g(); } 这样f会调用g,然后g返回x + x给f,然后f继续把那个值返回给调用者。 如果g是inline的话。f会被直接编译成。 int f() { return x + x; } 相当于把g执行的操作直接融合到f里。这样减少了调用g消耗的时间,但同时也增大了f的尺寸
注意:1.内联函数避免函数调用的开销
2.内联函数定义应放入头文件中。
char *a="test string"; 只需要传入地址, 不另外分配内存空间,
char a[]="test string"; 则需要分配内存空间, 再复制字符串
new int(10) 和 new int[10]的区别 new int(10) 分配一个int型空间,值为10. new int[10]分配10个int。
存储器大小端存储 http://blog.sina.com.cn/s/blog_52009a100100hign.html
extern的使用http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html
只在头文件中做声明。真理总是这么简单。
extern 表明该变量在别的地方已经定义过了,在这里要使用那个变量.
static 表示静态的变量,分配内存的时候, 存储在静态区,不存储在栈上面.
注意bool t =-1;结果为1
va_start、va_end、va_list的使用 http://www.cnblogs.com/rainduck/archive/2010/11/10/1873417.html
- c语言面试题汇总
- C语言面试题汇总
- C/C++面试题汇总
- C/C++面试题汇总
- C语言面试题汇总
- C语言面试题汇总
- C/C++面试题汇总
- C语言面试题汇总
- C/C++面试题大汇总
- C语言面试题大汇总
- C语言面试题汇总2
- C语言面试题大汇总
- C语言面试题大汇总
- C/C++面试题大汇总
- C/C++面试题大汇总
- C语言面试题大汇总
- C语言面试题大汇总
- C语言面试题大汇总
- Thinking in Java之ArrayList、Vector比较分析
- Shell脚本学习(二):条件语句与循环语句
- 在Web开发中使用多点触碰技术
- 利用run-as命令在不root情况下读取data下面的sqlite数据
- lightoj 1250 - Village Postman
- C/C++面试题汇总
- VS2008与Matlab混合编程设置
- Android之activity详述
- xml相关知识总结
- Android Unity3D基础
- gentoo内核编译
- 一、ORACLE体系结构
- !!!Obj-C 2.0 -- Chapter 2 Defining a Class
- 编程之美系列之求子数组的最大和(续)