C 语言中的 * 符号
C 语言中的星号(*)是一种操作员,具有以下几种含义:
1. 指针操作符
用于声明一个指针。例如:
立即学习“C语言免费学习笔记(深入)”;
<code class="c">int *ptr; // 声明一个指向 int 类型的指针</code>
用于取指针指向的变量的值。例如:
<code class="c">*ptr = 10; // 将 ptr 指向的变量赋值为 10</code>
用于取指针指向的变量的地址。例如:
<code class="c">int num = 20; int *ptr = # // 将 ptr 指向 num 变量的地址</code>
2. 间接寻址操作符
用于访问通过指针指向的变量。等同于使用指针操作符获取指针指向的变量的值。例如:
<code class="c">*ptr++ // 等同于 ++(*ptr)</code>
3. 解引用操作符
用于获取指针指向的类型的引用。例如:
<code class="c">struct student *stu; struct student& stu_ref = *stu; // 获取 stu 指向的 student 类型的引用</code>
4. 乘法运算符
用于进行乘法运算。例如:
<code class="c">int x = 5; int y = 2; int z = x * y; // z 的值为 10</code>
5. 解引用指针
用于解引用一个指针,返回它指向的变量的地址。例如:
<code class="c">int *ptr; // 声明一个指向 int 类型的指针 int num = 20; ptr = # // ptr 指向 num 变量的地址 *ptr; // 解引用 ptr,返回 num 变量的地址</code>
