• 指针

//指针变量中只能存放地址(指针)
int  *pointer = 100; //是不合法的,int *p=后面必须是地址变量
int  a=10;
int *p  = &a;
*p = 1;//表示将整数 1 赋给 p 指针当前指向的变量,相当于把1赋给 a,即a = 1
printf("%d",*p);// 1
printf("%d",p);// a的地址//数组指针
int a[10] = {0,1,2,3,4,5,6,7,8,9};
int *p; p = &a[0]; //等价于下面
p = a;//等价于上面
  • 动态分配数组
  • 易错

C 语言不支持在调用函数时返回局部变量的地址,除非定义局部变量为 static 变量

/* 要生成和返回随机数的函数 */
int * getRandom( )
{static int  r[10];int i;/* 设置种子 */srand( (unsigned)time( NULL ) );for ( i = 0; i < 10; ++i){r[i] = rand();printf("%d\n", r[i] );}return r;
}
strcpy(s1, s2);复制字符串 s2 到字符串 s1。strcat(s1, s2);连接字符串 s2 到字符串 s1 的末尾。strlen(s1);返回字符串 s1 的长度。strcmp(s1, s2);如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。strchr(s1, ch);返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。strstr(s1, s2);返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

  • 结构体

struct Stu{char *name;  //姓名int num;  //学号
};
struct Stu stu1typedef struct Stu{char *name;  //姓名int num;  //学号
}S;
S stu1;

  • 枚举类

enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };
enum week{ Mon = 1, Tues = 2, Wed = 3, Thurs = 4, Fri = 5, Sat = 6, Sun = 7 };scanf("%d", &day);
switch(day){case Mon: puts("Monday"); break;case Tues: puts("Tuesday"); break;case Wed: puts("Wednesday"); break;case Thurs: puts("Thursday"); break;case Fri: puts("Friday"); break;case Sat: puts("Saturday"); break;case Sun: puts("Sunday"); break;default: puts("Error!");
}输入:
4
输出:
Thursday

  • 文件读写

FILE *fpw = NULL;
fpw = fopen("/hello.txt","w+");
fprintf(fpw, "This is testing for fprintf...\n");
fputs("This is testing for fputs...\n", fpw);
fclose(fpw);FILE *fpr = NULL;
char buff[255];fpr = fopen("/hello.txt", "r");
fscanf(fpr, "%s", buff);
printf("1: %s\n", buff );fgets(buff, 255, (FILE*)fpr);
printf("2: %s\n", buff );fclose(fpr);
return 0;

指针、结构体、枚举类和文件相关推荐

  1. Swift 中枚举、结构体、类(enum、struct、class)

    Swift 中枚举.结构体.类(enum.struct.class) Swift中的枚举与OC相比不会自动分配初始值,值的类型不会限定为整数,可以给定关联值类型和具体值(整型.浮点型.字符型(Swif ...

  2. Swift结构体与类

    在面向过程的编程语言(如C语言)中,结构体用得比较多,但是面向对象之后,如在C++和Objective-C中,结构体已经很少使用了.这是因为结构体能够做的事情,类完全可以取而代之. 而Swift语言却 ...

  3. swift string转int_swift中结构体和类的区别(值类型和引用类型的区别)

    在swift中结构体和类有着更多的相同之处,在一般的使用中能够做到互相替换.我们可以先看看官方文档的描述: Unlike other programming languages, Swift does ...

  4. Swift学习笔记 (十八) 结构体和类

    结构体和类作为一种通用而又灵活的结构,成为了人们构建​代码的​基础.你可以使用定义常量.变量和函数的语法,为你的结构 体和类定义属性.添加方法. 与其他编程语⾔所不同的是,Swift 并不要求你为自定 ...

  5. [C#]结构体和类的区别

    结构体和类的区别:     在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体有啥不同, ...

  6. swift学习笔记(9)-结构体和类

    结构体和类对比 Swift 中类和结构体有很多共同点.共同处在于: * 定义属性用于存储值 * 定义方法用于提供功能 * 定义下标操作使得可以通过下标语法来访问实例所包含的值 * 定义构造器用于生成初 ...

  7. 【C 语言】文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )

    文章目录 一.学生管理系统 二.代码示例 一.学生管理系统 前两篇博客 [C 语言]文件操作 ( 将结构体写出到文件中并读取结构体数据 | 将结构体数组写出到文件中并读取结构体数组数据 ) [C 语言 ...

  8. 结构体、类的成员对齐

    自然对齐 为了保证CPU的运算稳定和效率,要求基本数据类型在内存中的存储地址必须自然对齐.所谓自然对齐,就是基本数据类型的变量不能简单的存储于内存中的任意地址处,它们的起始地址必须能够被它们的大小整除 ...

  9. 详解结构体、类等内存字节对齐

    先说个题外话:早些年我学C程序设计时,写过一段解释硬盘MBR分区表的代码,对着磁盘编辑器怎么看,怎么对,可一执行,结果就错了.当时调试也不太会,又根本没听过结构体对齐这一说,所以,问题解决不了,好几天 ...

  10. 结构体和类的区别-Objective-C基础

    1 结构体 与类的相同点 都可以将多个数据封装为1个整体 struct Date{ int year; int month; int day; } @interface Date :NSObject ...

最新文章

  1. 方法总比困难多_只是为了生活
  2. Python 数据类型之字典
  3. JMS : Java Message Service (Java消息服务)之一 [转]
  4. scss-@for 指令
  5. Atmospheric Scattering
  6. 【如意影视】运营级+完整类库+解析线路+无限增加或删减解析接口+如意可视化播放器1.1
  7. 自适应灰色动态滚动网站404页面源码
  8. 生成token和获取token
  9. Log4j具体使用实例
  10. 多核Cache一致性 伪共享 atomic的实现和cache相关的部分
  11. 吾在这里给大家拜年啦!
  12. 研究svg编辑器过程中遇到的问题总结
  13. RadAsm模板修改
  14. NWR,Gossip,Paxos分布式一致性协议
  15. web调用钉钉待办审批
  16. 力扣刷题 DAY_63 回溯
  17. 浅谈扫描二维码登录微信网页版与摇一摇传图的实现原理
  18. vscode添加标签自动补全
  19. Web3D 从入门到跑路 · 3D 初体验
  20. 有一种超人叫职场女性

热门文章

  1. 微信一面:一致性哈希是什么,使用场景,解决了什么问题?
  2. Bond Graph;端口Hamilton系统
  3. N76E003开发笔记(关于使用N76E003过程遇到的问题)
  4. 打败魔王(这是2022中兴捧月打榜的一道题)
  5. java复合语句与条件语句
  6. Unity脚本(四)
  7. hdmi接口线_HDMI接口如何区分?
  8. 全球与中国医疗计费软件市场深度研究分析报告
  9. 新isometric 视角游戏场景系统
  10. 第六章 图论 8 AcWing 1624. 地铁地图