博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言基础知识-自用
阅读量:4098 次
发布时间:2019-05-25

本文共 1232 字,大约阅读时间需要 4 分钟。

一维数组的定义和初始化

更高效的数组初始化方法

meset(a, 0 ,sizeof(a) );

用sizeof(a) 来获得数组a所占的内存字节数

更高效的数组赋值方法

memcpy(b , a ,sizeof(a) )

需要包含的相应的头文件:

#include <string . h>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C语言指针基础

数组名代表数组的在内存中的首地址;

数组做函数参数(形参)时,按地址调用,传递的是数组的首地址;
强转和指针为C语言的两大神器。
&是取地址运算符;&a == 直接寻址;
间接寻址:通过存放变量地址的其他变量访问该变量。
在这里插入图片描述
重点:使用指针变量之前一定要初始化;不知道指向那,就指向NULL;空指针不一定是指向地址为0的单元的指针,看C编译器而定;
“ * ” 取内容运算符(取地址单元中的内容);

int main(){
int a = 0,b =1; //int 为指针变量的基类型,定义了可以指向整数型的指针变量,没有初始化 int *pa,*pb; pa = &a,pb = &b; *pa = 9; //指针的解引用:引用指针来指向变量的值,从而改变 间接寻址 //int *pa = &a; printf(" a is %d, &a is %p,pa is %d\n",a,&a,pa); return 0;}

指针实例:演示按值调用

void Fun (int *par);int main(){
int arg =1 ; printf("arg = %d\n",arg); Fun(&arg); printf("arg = %d\n",arg); return 0;}void Fun(int *par){
printf("par = %d\n",*par); *par = 2;}

函数指针就是指向函数的指针变量;

数据类型 ( * 指针变量名) (形参列表)== int ( *f ) (int a, int b )
在这里插入图片描述

字符串

#include 
scanf("%s",c);//空格 制表符 回车 视为输出结束gets();//可以读走缓冲区内的回车或字符getchar();//读走缓冲区空格、回车scanf(" ");== scanf(" %d",&ch)//读走空白符计算字符串长度 :strlen(字符串);char str [10] = {
"China"};printf ("%d", strlen(str)),长度为5;” \0 “为结束标识, 不计算;strcpy(目的字符串,源字符串);//字符串复制strcat(目的字符串,源字符串);//字符串连接strcmp(字符串1,字符串2) == 0 ;//字符串比较fgets(str, sizeof(str),stdin);//限制输入字符串的长度strncpy(str1,str2,n)//n族的字符串处理函数 更安全

转载地址:http://rqrii.baihongyu.com/

你可能感兴趣的文章
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>
day-03JavaSE_循环
查看>>
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>