ICode9

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

初学C语言常见知识

2022-08-23 06:30:21  阅读:173  来源: 互联网

标签:头文件 函数 知识 C语言 pb 初学 数组 字符串 库函数


指针变量是用来存储地址的 定义 指针变量 例如:int* p;
int* p; //定义指针变量 p
*p // * 是解引用操作符,间接访问操作符号 (是指向地址的值)
指针大小 一般根据平台 位数 32位 为 4 ,64位 为8

结构体 创建结构体的时候 结尾需要加 ;
例如 sruck Book{char name ; short age;};
初始化 创建对象
struct Book b1={"薯片",21};
三种指向成员的方法
(1)使用指针
struct Book* pb = &b1;
指向成员(1)
(*pb).name
(*pb).price
指向成员(2)
pb->name
pb->price
(2)
b1.name
b1.price

补充:sleep(暂时时间)单位s或ms 取决于系统 暂停程序一段时间 linux系统 来自于库函数<unistd.h>
Sleep(暂时时间) windows系统 来自库函数 <windows.h>
补充:sqrt(对象) 开平方根 数学中的根号 来自库函数 <math.h> #gcc 需要引用头文件math.h 编译时需要在test.c后面加上-lm
补充: 字符串是常量 修改的时候需要用库函数 <string.h> 中的 strcpy(对象,字符串) 将新的字符串 拷贝到对象
字符串比较是否相同 需要使用<string.h>中strcmp(对象,字符串)
memset(对象,指定字符,到第几位)将对象的到第几位的字符修改为指定字符
补充:system("系统命令")执行系统命令 需要引用头文件stdlib.h

注:return 在函数中触发 就不会继续往下走了
注:scanf 一般对象是地址 键盘输入数据回车会在缓冲区留下 \n
例如:键盘输入123456\n scanf会输出123456 \n还在 后续如果getchar() 在缓冲区读取字符的时候 会读到\n
例如 int n = 0; char a[100] = {0}; scanf(“%n%s”, &n, a);
注:continue 是终止本次循环
注:switch 表达式 必须为整形(char会转化为ascii码 也是整形) case 是常量
注:getchar 获取一个你输入的字符串(包括\n),putchar 输出getchar 对象获取的字符串
注:EOF 是文件结束标志(end of file) 默认值是 -1 (crtl -z)
注:printf() 返回值是打印的字符串个数
注:strlen默认返回的是一个无符号数 (unsigned类型)
注:数组在传递的时候是首元素的地址 (通常情况下 数组名都是数组首元素的地址,在sizeof和&中是指整个数组)
注:数组创建的时候,指定数组元素数量使用的常量
注:二维数组创建的时候,必须要指定二维数组的元素数量

常见的库函数<stdio.h>输入输出函数 <string.h>字符串操作函数<unistd.h><windows.h><stdlib.h><math.h>数学函数<time.h>时间/日期函数

函数
嵌套调用:在函数里调用其它函数
链式访问:把一个函数的返回值作为另外一个函数的参数
函数声明:告诉编译器有一个函数叫什么,参数是什么,返回值是什么。无论函数是否定义(一般放在头文件中,引入头文件调用)
函数递归:函数调用自身 (递归存在限制条件 满足时 递归不在继续,每次调用会接近条件直到解除限制)

注:函数定义一般都会写在main函数之前,避免需要声明(在同文件的情况下)

引入自定义头文件的格式 include "文件名"
头文件一般会写使用此格式定义
#ifndef 通常是文件名
#define 通常是文件名
函数声明
endif
作用是避免函数重复调用

标签:头文件,函数,知识,C语言,pb,初学,数组,字符串,库函数
来源: https://www.cnblogs.com/sifangshalv2022/p/16614821.html

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

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

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

ICode9版权所有