C语言-第二周
2023-08-04 20:02:24 0 举报
AI智能生成
c语言
作者其他创作
大纲/内容
2.sizeof(数组名)/sizeof(数据类型)3.sizeof(数组名)-1
#include <string.h> size_t strlen(const char *s);功能:计算字符串实际长度参数:s:字符串的首地址返回值:字符串的实际长度
4.strlen
1.sizeof是一个关键字,strlen是一个函数2.sizeof作用用来计算数据所占空间大小,strlen就是用来计算字符串的实际长度3.sizeof计算时包含\\0但是strlen不包含,sizeof比strlen多一个(在定义字符数组忽略掉元素个数的情况下)
sizeof和strlen的区别?
1.for循环 ,将判断条件设置为不等于\\0 进行计数加1
【1】计算字符串中字符个数(字符串的实际长度)
【2】冒泡排序
【3】选择排序
定义时可以省略行数但是不可以省略列数
arr[0]----->表示第一行第一列的地址 arr[0]+1:第一行第二列的地址
【4】二维数组
注意:定义指针的数据类型和将要存储的数据的数据类型保持一致char a='v';char *p=&a;
【5】指针
8.1
font color=\"#e74f4c\
数组指针
指针数组:指针的数组,...的(不重要) 后面的重要,则实际上是数组数组指针:数组的指针,...的不重要,所以实际上是指针指针数组中可以用数组指针进行取值
大端:在低地址存储高字节数据,高地址存储低字节数据小端:在低地址存储低字节数据,在高地址存储高字节数据
【1】大小端
概念:二级指针是用来存储一级指针的地址格式:存储类型 数据类型 **指针变量;int a=10;int *p=&a;int **q=&p;
【2】二级指针
1.指针和一维数组
有两种方式:两个*或者一个*和[]
二维数组
【3】指针和数组
存放普通变量的地址
可以存放二维数组的地址
char *p[3]={\"hello\
main的形参
可以存放字符串
指针数组
8.4
【2】一维数组
定义空数组:
数组的元素的个数:1.数组的大小/数据类型的大小2.sizeof(数组名)/sizeof(数据类型)
数组的大小
【1】数组
1.bzero
memset
【3】清零函数
char *gets(char *s);功能:从终端输入一个字符串参数:s:字符数组的首地址返回值:目标字符串的首地址
3.gets
int puts(const char *s);功能:向终端输出一个字符串参数:s:要输出的字符数组的首地址返回值:输出的字符的个数
puts
【4】字符数组
7.31
int a=10; void *p = &a; //不可以取内容
1.算数运算 + - ++ --
关系运算> < == !=
指针的运算
指针的大小取决于操作系统64位的操作系统 -----》8个字节 linux是一个32位操作系统 ---一个字节等于八位----》指针就占4个字节
指针的大小
2.野指针 定义了一个指针没有初始化,会产生野指针解决:给指针进行赋值
Segmentation fault (core dumped)1.野指针 2.内存泄漏
段错误
const int a=10;或者:int const a=10;a不可以修改,但是可以通过间接修改的方式修改掉a的值,通过指针修改
1..修饰变量
2.修饰指针2.1修饰指针*pconst int *p;//修饰*p不可以被修改
2.2修饰指针pint * const p=&a;//修饰指针p
const int * const p=&a;//修饰指针p和*p
1.const 常量化
2.1void不可以修饰变量2.2修饰指针
2.void空
指针修饰
8.2
第二周
0 条评论
回复 删除
下一页