看前须知:
纯新人,记录一些本人在C中学习到的一些小知识,作为记录。
内容可能比较杂乱,姑且看看吧。
如果存在错误和不足,还请大佬指出。
1.关于指针的一些用法
指针作为C语言的灵魂,在程序的编写中可谓是非常有用且方便,节省很多时间。
这里不谈指针的基本定义了,仅仅谈谈我了解到的一些指针的方便用法。
1)作为参数传递
在编写和使用函数时,往往会使用指针作为函数的参数,如:
void print_score(stu *name)
{
int ch = name->ch_sco;
int en = name->en_sco;
int ma = name->ma_sco;
printf("该生语文%d分,英语%d分,数学%d分。", ch, en, ma);
}
typedef struct student
{
int age;
char gender[5];
int ch_sco;
int en_sco;
int ma_sco;
int grade;
int class;
} stu;
stu xiaoming = {10, "男", 90, 90, 90, 3, 5};
print_score(&xiaoming);
这里先声明了一个结构体,包含了学生的年龄,性别,语数外分数,年级和班级,并构造了一个函数,打印学生的分数。由于学生这个结构体不仅有分数,也有其它的属性,但在print_score()中只需要学生的分数,因此把结构体的地址作为参数传递,在函数内部利用地址取出结构体中的分数值,而直接非传递结构体本身,更加的快捷高效。
2)使用指针访问内存
曾听过一句话“程序就是对内存的修改”,而通过指针所指的地址访问修改内存是一种常用的方法,在某些情况下,可以直接移动指针来访问并修改某个内存,而不一定要使用定义的变量来访问,会更加方便。
举个例子,在定义一些需要一直使用的变量的时候,可以直接利用该变量的内存地址来引用,只要该变量的内存地址不发生改变,无论在程序的什么地方,都可以直接使用该地址来修改变量。