目录
[] --- 下标引用操作符
下标引用操作符的操作数:
一个数组名 + 一个索引值
代码演示:
#include<stdio.h>
int main()
{
//创建数组
int arr[5] = { 1,2,3,4,5 };
// 数组下标: 0 1 2 3 4
//找到数组中3的元素并打印
printf("%d\n", arr[2]);
return 0;
}
数组的下标:是从0开始的,依次递增1
int arr[5]:创建数组时的[5]并不是下标引用操作符,这只是创建数组的形式,[5]是指定大小,元素个数为5
arr[2]:下标引用操作符的两个操作数为arr和2, arr为数组名,2为索引值(数组下标),通过这两个操作数和下标引用操作符就能查找到指定的元素
() --- 函数调用操作符
函数调用操作符的操作数:
接受一个或多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数
代码演示(两个或多个操作数):
#include<stdio.h>
#include<string.h>
int main()
{
int ret = strlen("abc");
printf("ret = %d\n", ret);
return 0;
}
strlen("abc"):此函数调用操作符的操作数为:数组名:strlen、参数:"abc"
代码演示(一个操作数):
#include<stdio.h>
void test()
{
printf("hello\n");
}
int main()
{
test();
return 0;
}
test():此函数调用操作符的操作数只有:数组名:test
. and -> --- 结构成员访问操作符
代码演示(.点访问操作符):
#include<stdio.h>
struct Book
{
char name[20];//书名
char author[20];//作者
float price;//价格
};
int main()
{
struct Book b1 = { "C语言","鹏哥",68.5f };
//打印书的消息
printf("%s\t%s\t%f", b1.name, b1.author, b1.price);
return 0;
}
创建b1结构体变量后,就可通过点访问操作符访问到b1变量的每一个成员
结构体变量.成员名
代码演示(->箭头访问操作符):
#include<stdio.h>
struct Book
{
char name[20];//书名
char author[20];//作者
float price;//价格
};
void Print(struct Book* pb1)
{
//方法1:解引用后利用点访问操作符打印
printf("%s\t%s\t%f", (*pb1).name, (*pb1).author, (*pb1).price);
//方法2:利用箭头访问操作符直接打印
printf("%s\t%s\t%f", pb1->name, pb1->author, pb1->price);
}
int main()
{
struct Book b1 = { "C语言","鹏哥",68.5f };
//封装一个函数打印b1结构体成员的消息
Print(&b1);
return 0;
}
结构体指针->成员名