【无标题】

本文介绍了C语言的基础核心概念,如函数的使用,全局变量的范围,指针操作的规则,以及二维数组的处理。同时,也探讨了高级应用,包括结构体的声明与操作,结构体数组的特性,以及如何通过指针操作结构体成员。特别指出,字符指针数组可以提高空间利用率,而在结构体中处理字符数组需注意初始化方法。
摘要由CSDN通过智能技术生成

《零基础学C语言》—核心技术

1、如果所定义的函数没有要求返回值也可以用return结束程序,此时程序就不能有具体的返回值,即不能写为"return 某类型数据;";且函数返回到调用程序时不允许有接收值,即不能有赋值表达式。
2、在C语言中定义函数时,如果不指明函数是内部函数还是外部函数,那么默认将函数指定为外部函数。
3、 全局变量属于整个源文件,外部文件要使用该变量,需要extern关键字进行引用修饰。
4、未经赋值的指针变量不能使用,给指针变量的赋值只能赋予地址,而不能赋予任何其他数据。
5、某基本类型的指针p的自增运算p++是指向下一个存放该基本数据类型的地址,即按照它所指向的数据类型的直接长度进行增加;值得注意的是,虽然数组名a可以通过偏移量i实现*(a+i)来直接表示数组的第i个元素,但是数组名并不能像指针变量那样自增和自减。
6、二维数组a[m][n],a[0]表示第0行的首地址,a[0]+j 就是第0行第j个元素的地址。
7、利用指针引用二维数组关键要记住*(a+i)与a[i]是等价的。
8、用字符指针数组char * a[]来代替字符串数组(相当于二维字符数组char a[m][n]),可以提高空间利用率。

《零基础学C语言》—高级应用

1、声明一个结构体表示的是创建一种新的类型名,需要用新的类型名再定义变量。
2、结构体数组中各数据在内存中的存储是连续的。
3、假如student为结构体变量,pStruct为指向结构体变量的指针,那么以下3种形式的效果是等价的:
student.成员名;
(*pStruct).成员名;
pStruct->成员名;
4、假如pStruct为指向结构体变量的指针,那么"->“与”++"在以下情况合用时注意:
pStruct->iGrade++;//表示指向的结构体变量中成员iGrade的值,使用后该值加1
++pStruct->iGrade;//表示指向的结构体变量中成员iGrade的值先加1,再使用该值
5、假如pStruct为指向结构体数组变量的指针,那么有:
(++pStruct)->Number;//表示先使pStruct指向下一个数组元素的地址,然后取得该数组元素的成员值
(pStruct++)->Number;//表示先取得当前数组元素的成员值,再使得pStruct指向下一个数组元素的地址
6、对于结构体中有字符数组的情况,由于字符数组只能在定义时直接初始化,后面就只有用strcpy()函数来复制初始化,因此最好是在定义该类结构体时直接初始化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值