0406分享

1.strcat()函数会将第二个字符串追加到第一个字符串的末尾,形成一个新的字符串;

strlen()函数是用来计算字符串长度的,它返回字符串中字符的个数(不包括结束符'');

strcmp()函数是用来比较两个字符串是否相等的,它通过比较字符串中对应位置的字符来判断字符串的大小关系,返回值为整数

2.在C++中使用new和delete是成对的操作符,使用new分配的内存必须使用delete来释放;

new操作符用于在堆(heap)上动态分配内存,会调用对象的构造函数。
delete操作符用于释放new分配的内存,会调用对象的析构函数。
它们需要配对使用,否则会造成内存泄漏。

3.free是C语言中的函数,用于释放malloc、calloc等函数分配的内存

4.对于二维数组 int t[3][2],t[2]表示该二维数组第3行(下标从0开始)的首地址。
在C语言中,当数组名参与运算时会自动退化为指向数组首元素的指针;t[2]等价于*(t+2),表示的是一个包含2个整数的一维数组的地址;这个地址指向t数组第3行的开始位置,是一个合法的地址表示方式。

二维数组本质上是"数组的数组"
- t[2]实际指向一个一维数组,这个一维数组有2个元素
- 这种表示方法常用于数组参数传递和指针运算中

5.char* s[]  = {"abc","abcdef","abdd"};

s[i]等价于*(s+i),表示访问指针数组s中的第i个元素
- 每个元素都是一个指向字符串的指针,可以直接作为printf的参数输出字符串。

 s+i是指针数组的第i个元素的地址,这会导致printf输出地址值而不是字符串内容。

*s[i]对字符串指针解引用,会得到字符串的第一个字符,而不是整个字符串,这会导致printf只输出单个字符。
&s[i]是取指针数组元素的地址,这会得到一个指向指针的指针。

6.面向对象编程中重载(overload)和重写(override)

重载的概念:重载允许在同一个类中定义多个同名的方法,但这些方法的参数列表(参数类型、参数个数、参数顺序)必须不同。这使得同一个方法名可以根据不同的参数实现不同的功能。

重写的概念:重写是子类对父类虚函数的重新实现,子类方法必须与父类方法具有相同的方法名、返回值类型和参数列表。这是实现多态的重要机制。

- 重载发生在同一个类中,重写发生在继承关系的类之间
- 重载的方法参数必须不同,重写的方法参数必须相同
- 重载是编译时多态,重写是运行时多态

7.正数的原码/反码/补码都相同

8.//整型提升

char a = 5; 

char b = 126;

char c = a+b; //-125

8. char c = 1;
    printf("%u\n", sizeof(c));  //1
    printf("%u\n", sizeof(+c));  //4
    printf("%u\n", sizeof(-c));  //4

9.向较大类型转换

寻常算数转换:long double -- double -- float -- unsigned long int -- long int -- unsigned int -- int

你可能感兴趣的:(C语言,c语言,学习方法,开发语言)