《C和指针》,第一章

今天是技术类书籍阅读的第一天,所读的书是《C和指针》,因为我对指针的理解比较差劲,希望能够通过该书加强自己对指针的理解,从而加深对C语言整个的理解,以下是我所整理的,认为比较重要的知识点

scanf()函数的使用方法和返回值

scanf()函数中,逗号后面的要输入数据的变量,都需要加入取地址操作符&,但是数组前面不需要加入。如果是数组中的某个特定的元素,用下标表示,就要加上,比如说&arr[5]。

scanf()函数是标准输入函数,会从你的键盘中读取输入的值,并存储在相应的变量中。scanf()函数的返回值是成功读取的数值的个数

num += 1 和 num = num+1和num++

num += 1 和 num = num+1和num++是相同的

puts函数

puts()函数的作用是把字符串写到标准输出并在末尾添上一个换行符

数组名当作函数参数的意义

当数组名作为参数时,传递给函数的实际上是一个指向数组起始位置的指针,也就是数组在内存中的地址

for循环

for循环一句包含3个表达式,并且这三个表达式都是可选的

1. 第一个表达式是初始部分,在循环开始执行之前会执行一次

2. 第二个表达式是测试部分,它在循环每执行一次之后都要执行一次

3. 第三个表达式是调整部分,他在每次循环执行完毕后都要执行一次

strchr()函数的作用

strchar()函数的作用是在字符串内进行搜索的函数,它的第一个参数是一个字符串,第二个参数是一个字符,如果字符串中包含该字符,则返回该字符在该字符串中第一次出现的位置的地址,如果失败则返回一个NULL指针

(其实这个函数就像strstr()函数一样)

函数中的数组名

函数中的数组名具有传址调用的意思(毕竟数组名是数组首元素的地址)

printf函数和scanf函数

printf()函数是格式化输出函数,scanf()函数是格式化输入函数

编程练习1.2

#include <stdio.h>
int main (void)
{
	int ch = 0;                          //变量ch用来接受字符
	int line = 0;                        //行号
	int line_beginner = 1;               //行首标识符吗,标识是否是行首
	while((ch = getchar()) != EOF)       //输入一个字符到ch
	{
		if(line_beginner == 1)           //判断是否在行首
		{ 
			line++;                      //行数增加
			printf ("%d ",line);         //打印对应的行号
			line_beginner = 0;           //将行首标识符赋值为0,以便打印后面的字符
		}
		putchar(ch);                     //输出字符ch到标准输出(屏幕)
		if(ch == '\n')                   //如果到了行尾(ch = getchar()会接受字符'\n')
		{
			line_beginner = 1;           //开启下一行,并将行首标识符设置为1
		}
	}
	return 0;
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值