C语言学习笔记

本文探讨了C语言中的两种内存分配方式及其特点,重点介绍了动态内存分配的再分配方法realloc()。此外,还讨论了Code::Blocks IDE的设置技巧、使用free()释放常量的注意事项以及字符串处理函数strtok()和memset()的正确使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、分配内存有两种方式,1、静态分配:char *str1[100];2、动态分配 char *str1 = (char *)malloc(100);但只有动态分配的内存可以调用方法 str1 = (char *) realoc(str1,200); 重新分配;

2、在使用Code:Block时,必须在创建c文件时,选择为链接、编译并到debug或release中;

3、const char* str1,常量用free()函数释放空间会报警告。passing argument 1 of 'free' discards 'const' qualifier from pointer target type [enabled by default]|

3、char *strtok(char *s, char *delim) 第一个参数必须是 char str[]数组形式的,char *str 与 字符串常量都不可以,反复调用直到返回NULL才把所有字符串分解完,并且第一次执行传入的第一个参数为要分解的字符串,以后每次只传入NULL就可以了。详细解释见《关于函数strtok和strtok_r的使用要点和实现原理》

4、void *memset(void *buf,int ch,size_t count);其中第一个参数必须是静态分配内存的字符串,并且不能为字符串常量。

### C语言学习笔记与教程 C语言作为一门基础且强大的编程语言,其学习资源丰富多样。以下是关于C语言学习的一些关键点和推荐的学习路径。 #### 1. 学习平台与环境 C语言可以在多种平台上进行学习,包括Windows和Linux。然而,推荐在Linux平台上学习C语言[^1],因为Linux提供了更丰富的开发工具和库支持,同时在嵌入式开发、系统编程等领域具有更广泛的应用场景。 #### 2. 核心知识点 学习C语言时,需要掌握以下几个核心知识点: - **变量与数据类型**:了解基本的数据类型(如`int`, `float`, `char`等)以及如何声明和使用变量。 - **数组**:掌握一维数组和多维数组的定义与操作。 - **函数**:理解函数的定义、调用以及参数传递方式。 - **指针**:这是C语言中非常重要且复杂的部分,需要深入学习指针的概念及其应用。 - **结构体**:学习如何定义和使用结构体来组织复杂的数据。 - **标准库**:熟悉C语言提供的标准库函数,例如输入输出函数(`printf`, `scanf`)、字符串处理函数(`strcpy`, `strlen`)等[^1]。 #### 3. 学习方法 对于初学者,建议按照以下方法进行学习: - **循序渐进**:从基础语法开始,逐步深入到高级概念。可以参考全面的C语言学习指南,这些指南通常由经验丰富的开发者编写,能够提供清晰的学习路线图[^2]。 - **实践为主**:编程语言的学习离不开实践。通过编写小程序来巩固所学知识,并尝试解决实际问题。 - **分析复杂代码**:当遇到多层循环嵌套等复杂代码时,可以采用手动分析的方法。准备纸笔,逐层分析循环条件和运行结果,这种方法有助于培养逻辑思维能力[^3]。 #### 4. 推荐教程与资源 以下是一些推荐的学习资源: - 在线教程:寻找权威网站上的C语言入门教程,例如官方文档或知名教育平台。 - 视频课程:观看视频课程可以帮助更好地理解抽象概念。 - 实践项目:参与小型项目开发,例如实现简单的计算器、学生管理系统等。 ```c // 示例代码:一个简单的C语言程序 #include <stdio.h> int main() { int num1, num2, sum; printf("请输入两个整数: "); scanf("%d %d", &num1, &num2); sum = num1 + num2; printf("两数之和为: %d\n", sum); return 0; } ``` 上述代码展示了一个简单的C语言程序,用于计算两个整数的和。通过类似的小程序练习,可以快速掌握C语言的基本语法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WalsonTung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值