C++刷题知识点总结3
- int p[10] p是一个数组 含10个int元素
int (*p)[10] p是一个指针 指向一个有10个int的数组
2.C++ Primer 中文版P187-190关于参数传递,指出只有传值和传引用(传指针包含在传值里)
一般来说,
C里面有两种传递
1、值传递
2、指针传递
严格来看,只有一种传递,值传递,指针传递也是按值传递的,复制的是地址。
C++里面有三种传递方法:
1、值传递
2、指针传递
3、引用传递 但是严格来看,是两种,其实指针传递也是值传递,只不过是值传递的是地址。
3.可见性指哪里可以调用,能调用就是可见的,存在性指的什么时候初始化什么时候释放,一个是文本上的范围,一个是生命周期。内部静态类的可见性是定义它的函数范围内(即‘{}’内),而其存在性是直到程序运行结束。
4.|| && 不是左右顺序的事,而是 && 的优先级高于||
5.union(共用体)的各个成员是以同一个地址开始存放的,每一个时刻只可以存储一个成员,这样就要求它在分配内存单元时候要满足两点:
1.一般而言,共用体类型实际占用存储空间为其最长的成员所占的存储空间;
2.若是该最长的存储空间对其他成员的元类型(如果是数组,取其类型的数据长度,例int a[5]为4)不满足整除关系,该最大空间自动延伸; 延伸到可以整除为止.
6.#pragma pack(2) 强制设定为2字节对齐.
7.int main(void)
{
int i;
for (i = 0; i < 2; i++) {
fork();
printf("-");
}
return 0;
}
8.
定义一个函数指针,指向的函数有两个int形参并且返回一个函数指针,返回的指针指向一个有一个int形参且返回int的函数?
首先定义一个函数指针,(*F)(int,int),这个还没有注明返回类型;第二步,返回类型是一个函数指针,设为F’,则int(F’)(int),然后替换int((*F)(int,int))(int)