华清远见25072班C语言学习day7

重点内容:

二维整形数组:

定义:

数据类型 数组名行数列数;

数组中元素的访问:

通过行标和列标来访问、行标从0开始,列标从0开始

初始化和赋值:

int arr123={1,2,3,4,5,6}; -->二维数组完全初始化

int arr223={{2,9,4},{12,8,5}};-->二维数组以行为单位的完全初始化

int arr333={1,2};-->二维数组的不完全初始化,未初始化的部分为0

int arr433={{1},{3},{1,9}};-->以行为单位的不完全初始化,未初始化部分默认为0

int arr5\[\]4={1,2,3,4,9}; -->二维数组省略行数的初始化//分配8个int的空间,因为一行最多有4个数据,初始化列表有5个,需要再分配一行

二维数组不能省略列数初始化!!!

二维字符数组(存储多个字符串,需要用二维字符数组):

定义:

char strs行数列数;

二维字符数组的列数,需要以最长的字符串来分配,会造成空间的浪费


指针:

其他类型不能存储内存地址,而指针可以存储内存地址

定义:

数据类型 *指针名;

指针的初始化和赋值:

int *p; -->定义了一个int*类型的指针p但是没有初始化是一个野指针

int *p1 = &a; //定义了一个int *类型的指针,用a的地址给指针初始化

int *p2 = NULL; //将指针初始化为空指针

p = &a; //p1和p都指向变量a(都保存变量a的地址)

指针和变量的关系:

指针保存变量的首地址,就称为指针指向该变量

变量有变量的地址,指针也有自己的地址

指针指向变量只能指向变量的首地址


作业:

1.一维数组中元素的去重

程序源码:

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main(int argc, const char *argv\[\])

{

int arr10;

printf("please enter arr:");

int len=sizeof(arr)/sizeof(arr0);

for(int i=0;i<len;i++)

{

scanf("%d",&arri);

}

for(int i=0;i<len;i++)

{

for(int j=i+1;j<len;j++)

{

if(arri==arrj)

{

for(int k=j;k<len;k++)

{

arrk=arrk+1;

}

len--;

j--;

}

}

}

for(int i=0;i<len;i++)

{

printf("%d\t",arri);

}

putchar(10);

return 0;

}

2.整理思维导图

相关推荐
青岚_Nox2 小时前
C语言实战:带你手写一个带"计时功能"的猜数字小游戏
c语言
iotxiaohu4 小时前
用 cflow 查看 C 函数调用关系
c语言·开发语言·cflow
iCxhust6 小时前
51单片机电力载波应用开发(九)51产品化
c语言·数据库·嵌入式硬件·mysql·51单片机·软件工程·c51
Logic1016 小时前
C语言/数据结构字符串题解:统计“chhc“子串权值总和——一次遍历模式匹配
c语言·数据结构·算法·字符串·时间复杂度·空间复杂度·ascii
m0_547486668 小时前
《数据结构 (C语言)》期末试卷及答案(10套)2026版
c语言·开发语言·数据结构
八月的雨季 最後的冰吻8 小时前
FFmepg-- 42-ffplay.c 线程安全机制深度分析
c语言·安全·ffmpeg
逐光者9338 小时前
滤波器的 R 与 C 如何选择:从截止频率到工程实践
c语言·开发语言·r语言
杜 硕9 小时前
归并排序详解
数据结构·算法·排序算法
水饺编程9 小时前
第2章:Linux 基础,whoami 命令
linux·c语言·汇编
Logic10111 小时前
C语言/数据结构动态规划题解:字符串变回文的最少操作次数——最长回文子序列(LPS)
c语言·数据结构·算法·动态规划·时间复杂度·回文串·最长回文子序列