ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C the basics (array, complex)

2020-12-08 17:05:19  阅读:204  来源: 互联网

标签:basics name 定义 complex COMPLEX fun array REF struct


数组:

只有初始化定义才能 arr = { 0 }; 

 

结构体:

typedef struct namex {  }name; 会创建一个name类型的结构体,也可用name进行类型定义,但是不可以定义指针,仍需要用struct name* 定义 。

重要小结:结构体中的只指向自身的指针需用 struct COMPLEX* 定义。

typedef struct SELF_REF { ///直到结尾才会完成定义,中途无法使用定义。
        int a;
        SELF_REF* b;/// should be" struct SELF_REF* b; "
        int c;
    }SELF_REF;

COMPLEX* -> member name

struct COMPLEX{ int a; char b; char c };  最大限度地节省空间。

 

作为函数参数的结构:

将函数名传入函数的参数中可以得到成功的结果,但是非常的低效,因为C会在调用过程中先拷贝一份。以下是一个更好的方案:

void fun (COMPLEX* C){
    C -> member_name;///以这种形式访问并使用。
}

fun(&COMPLEXTYPE);///以这种形式调用函数。

为了防止结构体被修改,也可:
 void fun (COMPLEX const *C)

当要多次使用输入的指针访问结构体时,可以定义为寄存器变量:
void fun (register COMPLEX const *C) 

 

函数内不可定义函数。

 

标签:basics,name,定义,complex,COMPLEX,fun,array,REF,struct
来源: https://www.cnblogs.com/porest/p/14103563.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有