黑马程序员——C语言学习总结11-21

这篇博客总结了C语言中关于字符串和指针的知识点,包括字符串的定义、初始化、输出,字符串数组,字符和字符串处理函数,以及指针的深入探讨,如指针的定义、经典案例、与一维数组、函数参数和字符串的结合使用。

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

---------------- ASP.Net+Unity开发.Net培训、期待与您交流!----------------


《C语言11-字符串的定义、初始化、输出》学习总结


1、C语言中用字符数组来存储字符串,并会在字符数组尾部添加一个结束标记\0。

2、puts函数一次只能输出一个字符串,printf函数则可以同时输出多个字符串。

3、puts函数和printf函数都是从字符串的首地址开始输出字符,直到遇到\0字符为止。

《C语言12-字符串的输入》学习总结


1、gets函数一次只能读取一个字符串,scanf函数则可以同时读取多个字符串。

2、gets函数和scanf函数都是从字符数组的首地址开始存放输入的字符,最后会在字符数组尾部添加一个结束标记\0。

3、gets函数可以读取包含空格、tab的字符串,而scanf函数不能。

《C语言13-字符串数组》学习总结


1、一维字符数组可以存放一个字符串,二维字符数组可以存放多个字符串。

2、可以把字符数组看作是一维数组,它的每一个元素都是一个字符串。

《C语言14-字符和字符串处理函数》学习总结


1、字符输出函数putchar:一次只能输出一个字符。

2、字符输入函数getchar:一次只能读入一个字符,并且可读入空格、tab、\n。

3、strlen函数可以用来测量字符串的字符个数。

4、strcpy函数会将右边的字符串拷贝到左边的字符数组中。

5、strcat函数会将右边的字符串拼接到左边的字符数组尾部。

6、strcmp函数可以用来比较2个字符串的大小。

7、strcmp函数从左到右逐个比较两个字符串的字符,直到两个字符串的字符不相等或其中一个字符串的字符为\0为止。如果两个字符串的全部字符都相等,则返回0,否则返回两个字符串的字符差值。

《C语言15-指针的定义》学习总结


1、通过变量名引用变量,称为直接引用。

2、将变量a的地址存放在变量b中,然后通过变量b来间接读写a的值,这样的过程称为间接引用。

3、用来存放变量地址的变量,称为指针变量。

4、指针的形式:类型标识符 *指针变量名,*只是说明变量是指针变量,它并不属于变量名的一部分。

5、*p代表根据p的值访问对应的存储空间,*是一个指针运算符。

《C语言16-指针经典案例》学习总结


1、指针经典案例。
//互换两个实参的值
#include <stdio.h>

//  swap函数形参为2个指向int类型的指针,没有返回值.
void swap(int *v1, int *v2) {
    //  中间变量
    int temp;
    //  取出v1指向的变量的值,然后赋值给中间变量.
    temp = *v1;
    //  取出v2指向的变量的值,然后赋值给v1指向的变量.
    *v1 = *v2;
    //  取出中间变量的值,然后赋值给v2指向的变量.
    *v2 = temp;
}

int main()
{
    //定义两个int类型的变量.
    int a = 10, b = 7;
    //调用swap函数,实参传递给swap函数的是两个变量的地址.
    swap(&a, &b);
    //在屏幕上输出结果.
    printf("a = %d b = %d\n", a, b);
    //返回值为0.
    return 0;
}
2、将10赋值给变量a,7赋值给变量b。


3、将a的地址赋值给指针v1,b的地址赋值给指针v2。


4、将变量a的10取出并赋值给变量temp。


5、将变量b的7取出并赋值给变量a。


6、将变量temp的10赋值给变量b。


《C语言17-关于指针的一些疑惑》学习总结


1、指针变量所占用的内存空间是固定的。

2、指针变量的类型用于标示间接访问存储空间时的范围。

《C语言18-指针与一维数组》学习总结


1、p是指针,a是数组,如果p指向a,则p+1表示指向a的下一个元素。

2、p+1代表着p的值加上p所指类型所占的内存大小。

3、指针和数组是有区别的,例如,指针是变量,数组名是常量。

《C语言19-指针、数组与函数参数》学习总结


1、数组名作为函数实参时,将实参数组的首地址传递给形参数组,形参数组中的元素值发生改变会影响实参数组。

2、作为函数形参时,指针和数组是等效的。

《C语言20-指针与字符串》学习总结

1、常用字符串函数的声明格式示例。
    //字符串长度函数
    size_t strlen(const char *);
    //字符串拷贝函数
    char * strlen(char *, const char *);
    //字符串拼接函数
    char * strlen(char *, const char *);
    //字符串比较函数
    char * strlen(const char *, const char *);
2、字符串常量和变量示例。
    //定义一个字符串变量
    char a[] = "zjw";
    //定义一个字符串常量
    char *p = "zjw";

《C语言21-指针与函数》学习总结


1、返回指针的函数的一般形式:类型名 * 函数名(形式参数1,形式参数2……)。

2、函数名代表着函数的地址。

3、指向函数的指针的一般形式:类型名 (*指针变量名)(形式参数1,形式参数2……),形式参数列表可以省略。

4、对指向函数的指针作加减运算是无意义的。

5、指向函数的指针和返回指针的函数非常相似,使用时要特别注意区分。

6、指向函数的指针用于调用函数和将函数作为参数在函数间传递。

---------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------


----------------详细请查看:www.itheima.com-----------------------------------------


### 黑马程序员 C语言 教案 资料 下载 根据需求,以下是关于黑马程序员提供的C语言教案或教学资料的相关信息: #### 1. **黑马程序员 C语言提高课程配套课件** 配套课件由黑马程序员提供,专注于C语言的高级特性和应用技巧。该资源适合希望深入了解C语言的编程爱好者,涵盖了指针、内存管理、数据结构等核心主题[^1]。 - **下载地址**: [点击访问](https://gitcode.com/Premium-Resources/ed1c2) #### 2. **《黑马程序员C语言入门笔记》** 此笔记专为C语言初学者设计,内容详尽,覆盖基础知识、核心语法及高级概念。它以通俗易懂的方式讲解了数据类型、运算符、指针、数组、结构体等内容,有助于学习者系统掌握C语言[^2]。 - **下载地址**: [点击访问](https://gitcode.com/Premium-Resources/a2090) #### 3. **黑马程序员 C语言进阶教程** 进阶教程深入分析了C语言的底层原理,包括但不限于内存分配(内存模型)、函数调用模型、指针以及动态链接库等方面的内容。这套教程被广泛推荐给那些希望通过理解其实现机制来进一步提升技能的学习者[^3]。 - **百度网盘地址**: [点击访问](https://pan.baidu.com/s/1dOipEZHoOUpAXFajG4AFUA) - **提取码**: `gzhu` #### 4. **黑马程序员——C语言基础教程笔记** 基础教程笔记来源于一位研究生在求职准备期间整理的学习记录。这些笔记基于黑马程序员官方课程制作而成,能够帮助初学者快速熟悉C语言的核心知识点[^4]。 - **课程链接**: [点击访问](http://yun.itheima.com/course/369.html) #### 5. **其他补充说明** C语言因其高效性、灵活性和强大的功能而受到全球开发者的欢迎。无论是Windows、Mac OS X还是Linux等多种操作系统环境,均支持C语言编译器运行程序。此外,许多现代编程语言如C++、Java、Python等都受到了C语言设计理念的影响[^5]。 ```python # 示例代码:简单的C语言 Hello World 程序 #include <stdio.h> int main() { printf("Hello, World!\n"); return 0; } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值