day2

发布时间 2023-08-22 00:19:28作者: skural
void *calloc(unsigned n,unsigned size); 
 
  用calloc函数可以为一维数组开辟动态存储空间,n为数组元素个数,每个元素长度为size. 
 
  函数返回值指向所分配域的起始位置的指针;如果分配不成功,返回NULL。 
 
  p=calloc(10+20,sizeofint))//开辟30x4个字节的临时分配域,把起始地址赋给指针变量p

 

利用new运算符进行申请空间的操作,长度为aa字符串的长度还要在加上‘/0

 

访问权限修饰符可以随意使用,只不过习惯把同一种修饰符的放在一起

 

 编译器会忽略数组第一维的长度,所以参数数组中第一维的长度可以省略,第二维不可以。 

 

数组名是一个常量指针,char *const s,指针的指向是不可以修改的,指针指向的内容是可以修改的。字符串"abcdefg"代表一个地址,不能改变一个指针的指向
数组名是指针,不能被赋值

 

32位机器跟64位机器上  char类型的都是1个字节

 

此处指针先占用8字节。int占用4字节,满足要求不用补齐,char占用一个字节,同时总的字节数必须满足8的倍数即16  

 

union类型的变量在定义时是可以被初始化的,定义如下union类型 union Test {     int a;     float b; }; Test test = {1}; test变量的定义可以初始化,初始值的类型必须是union中第一个成员的类型。

 

抽象类不能被实例化对象,但是可以指向派生类的指针

 

只有给对象分配内存才调用构造函数 ,子类不能继承父类的构造函数,只能显式的调用

 

如果子类的函数与父类的名称相同,但是参数不同,父类函数被隐藏(重定义)

如果子类函数与父类函数的名称相同&&参数也相同&&但是父类函数没有virtual,父类函数被隐藏

如果子类函数与父类函数的名称相同&&参数也相同&&但是父类函数有virtual,父类函数被覆盖(重写)