c与c++的一些细碎知识点

1、c++中函数可以嵌套调用,但不可以嵌套定义。

2、.指针数组和数组指针的区别

3、fopen函数的用法及详解

4、[C语言] 5分钟看懂什么是 malloc - 知乎

5、在32位机器上,long占四个字节,longlong占8个字节,char占1个字节,int占4个字节。

6、在c++中,双冒号::是作用域解析运算符,用于标识作用域中某些特定名称。例:xx::_x5 中的双冒号用于标识 _x5 的作用域属于 xx 类。具体来说,xx:: 表示 _x5 属于 xx 类的作用域,而不是函数或全局作用域。

int xx::_x5; 这句代码的意义是在全局作用域中定义了一个静态变量 _x5,它属于类 xx,其类型为 int,并且将其初始化为 0。

需要注意的是,这里的变量 _x5 是静态成员变量,它并不属于类的任何一个对象,而是属于整个类,可以被类的所有对象共享。在类外部对静态成员变量进行定义时,需要使用作用域解析运算符 ::,表示这个变量属于哪个类。同时,静态成员变量需要在类外部进行定义,类内只能进行声明,这是为了防止重复定义。

7、在内存中,变量的存储需要满足两个要求:变量的起始地址必须是其类型大小的整数倍,变量的大小必须是其类型大小的整数倍。内存对齐的规则是:

  •      结构体变量的起始地址必须是其内部最大元素大小的整数倍,即结构体变量的起始地址必须是  其最大成员变量大小的整数倍。
  •      结构体每个成员相对于起始地址的偏移量必须是其类型大小的整数倍。
  •      结构体的总大小必须是其最大成员变量大小的整数倍。

8.c语言中,引用数组元素时,其数组下标的数据类型可以是整型常量、整型变量、整形表达式。

9.在C语言中,两个百分号("%%")用于打印输出一个百分号符号(%)。这是因为在C语言中,百分号符号被用作格式化字符的起始标记,例如"%d"表示以十进制形式输出整数。如果要在输出中包含实际的百分号符号,就需要使用两个百分号符号,第一个百分号符号用于转义第二个百分号符号,告诉编译器它应该被输出而不是被解释为格式化字符的起始标记。例如,下面的代码将在屏幕上打印出字符串"10%":

printf("10%%");

10、预处理器是 C 和 C++ 编译器中的一个模块,它在编译代码之前对源代码进行处理。预处理器会扫描源代码中以 # 开头的指令,根据指令的内容对代码进行修改。#if 0#endif 是预处理器中的条件编译指令,其语法如下:

#if 常量表达式
    代码块1
#else
    代码块2
#endif

        在这个语法中,如果常量表达式为真,则编译器会将 代码块1 中的代码包含在编译过程中;否则,编译器会将 代码块2 中的代码包含在编译过程中。当 #if 后面的常量表达式为 0 时,即代表该代码块中的代码永远不会被编译器包含在编译过程中。

        因此,#if 0#endif 的作用是将中间的代码块标记为注释,编译器在编译的时候就会将它们忽略掉。这种方法可以方便地注释掉一大段代码,而不需要手动注释每一行,有利于代码的调试和修改。

        需要注意的是,在这种情况下,#if 0#endif 并不是标准的注释符号,它们是预处理指令,只有在预处理阶段才会被处理,因此在编译器处理源代码之后,这段代码块中的注释内容也不会被包含在编译后的可执行文件中。

11.在C++中,常见的输出格式有以下几种:

     (1)cout输出:使用标准输出流对象cout,使用“<<”运算符进行输出。例如:

#include <iostream>using namespace std;
int main() {
    int a = 10;
    cout << "a = " << a << endl; //输出a的值

    return 0;}```
2. printf输出:使用C语言中的printf函数,格式化输出。例如:
```cpp
#include <cstdio>
int main() {
    int a = 10;
    printf("a = %d\n", a); //输出a的值

    return 0;}```
3. iomanip库输出:使用iomanip库中的函数,控制输出格式。例如:
```cpp
#include <iostream>#include <iomanip>using namespace std;
int main() {
    double pi = 3.1415926;
    cout << setiosflags(ios::fixed) << setprecision(3) << pi << endl; //输出pi的值,保留3位小数

    return 0;}```
以上是C++中常见的输出格式,您可以根据具体的需求选择合适的输出方式。

12.逗号运算符

    在C语言中,逗号运算符(,)是一个二元运算符,用于将多个表达式连接在一起,并按顺序执行它们。逗号运算符的特点是,它会依次计算每个表达式,并返回最后一个表达式的值作为整个表达式的结果。例如:  x=(a=3,3*6),x的值返回为18。

13.extern关键字

  用于声明外部变量或函数,指明声明的函数或变量在另一个文件中

14.字符数组

 字符数组用于存放一组字符或字符串,字符串以'\0'结尾作为结束符。

猜你喜欢

转载自blog.csdn.net/qq_44732869/article/details/130557672