C-笔记
自己学习C语言过程中的一些,笔记~
時光机a
相信奇迹的人,本身就和奇迹一样了不起
展开
-
结构体中为什么不能有该结构体类型的成员,而要采用指针?
当我们尝试在结构体A中定义一个A类型的成员时(比如链表),如果像下面一样编写代码,是无法通过编译的。struct A{ int x; struct A a;}正确的方式应该是用指针来实现,如下struct A{ int x; struct A *a;}比较直观的解释是,如果像第一种写法,是无法确定结构体A类型所占内存的大小的,当我们定义一个结构体变量,首先做的就是为其分配内存空间,如果连起大小的不确定,程序自然就无法执行。第一种写法中,结构体A具有两个成员,原创 2021-08-28 20:06:56 · 868 阅读 · 1 评论 -
C语言中返回值为函数指针的函数的写法
写法有点绕,所以写下来记录下。#include<stdio.h>int get_num(int);/*返回值为函数指针的函数: 1.先看 (*get_fun()) ,可知它是一个函数,函数名为get_fun,没有参数,返回值是一个指针,该指针指向什么类型的数据呢? 2.去掉函数名部分,剩下的部分:int (*)(int),容易看出它就是一个函数指针,该指针指向的函数:有一个int型参数,返回值为int型*/int (*get_fun())(int); int原创 2021-07-25 19:27:39 · 4842 阅读 · 1 评论 -
C语言中关于函数中使用数组作为参数的理解
函数中使用数组作为参数时,比如void function(int a[]);我们在调用该函数时,只需要传入一个int型变量的地址即可,该地址将作为参数数组 a[] 的首元素地址,值得注意的是,我们传入的实参,可以是一个int数组中任意元素的地址,比如int array[5]={1,2,3,4,5};function(array); //数组名即首元素地址function(&array[1]); //array[1]的地址将作为形参数组的首元素地址funtion(&array[2原创 2021-07-25 17:13:07 · 1140 阅读 · 0 评论