扫一扫安全信息随时看! C语言学习之旅 结构体
1结构体
数组:一些相同元素的集合
结构体:一些值的集合,但是值的类型可以不同
结构体类型
//结构体
struct B
{
char c;
short d;
float e;
};
struct Stu //类型
{
struct B sb;
char name[20]; //姓名
int age; //年龄
char id[20]; / C语言学习之旅 指针初阶
1.指针是什么
编程语言中的对象,指向电脑存储器中另一个地方的值,也可以理解为内存单元的编号(地址)
2.指针类型的意义
指针类型决定了访问权限的大小
指针类型决定了指针走一步的步长
3. 野指针
3.1 概念
指向的位置随机,不可知(非法访问内存)
3.2 成因
指针未初始化
int main()
{
int* p; // p是一个局部指针变量,局部变量 C语言学习之旅 练手小题目(一)
1.模拟实现strcpy
#include
#include
char* my_strcpy(char* dest, const char* src)
{
// 优化前
//while (*src != '\0')
//{
// *dest = *src;
// dest++;
// src++;
//}
// *dest = *src
// 进一 三子棋的实现(12)
题目要求:
三子棋如何实现玩家与电脑比赛的设计。 * | # | # //1 打印一行的数据:【 | | 】---|---|--- //1 打印分隔符:【---|---|---】 | * | # //2---|---|--- //2 | | //3分析:1.首先如何实现玩家下棋和电脑下棋,其次判断输赢; 两种类型限定词const和volatile(16)
C89标准规定了两种类型限定词const和volatile,在进行变量类型声明时,写在前面。例如:const int i;volatile int i;其中:const:限定声明的变量是不可修改的常量,该变量在第一次初始化后,始终保持值不变。volatile:限定声明的变量值是经常可能会变化的、不稳定的,因此编译器不应该对该类型的变量访问和操作进行优化或重新排序。const类型const修饰的变 C语言 - 位域(位域)详解
昨天偶然遇到有人问起如下的题目:struct { int a:1; int b:2; int c:3; } test; test.b = 2; Q:test的内存里,16进制为多少 因为很久没有写过位结构体的缘故,知识点有些生疏,仅能想起test内的成员a、b、c会将一个byte按标记位划分,回答得不好(看错位回答了0x2),让我们再复盘一下(以小端存储为例):让我们画 c语言-day4
今天学习了C语言中的注释,选择语句,循环语句,数组的创建和调用,见识了一些面试题,了解到了学习的重要性与时间的紧迫性,路漫漫且任道远注释单行注释\\段落注释\**\ 注意:不可以嵌套使用 \* 遇见的第一个 *\ 为一个段落注释选着语句if代码块else代码块循环语句while()do while()不管真假先执行一次for (;;)数组用索引调用 数组下标从0开始列如:int arr[10]= 递归相关作业
#define _CRT_SECURE_NO_WARNINGS 1 #include#include//作业(1):递归实现 字符串中的字符反向排列://void reverse_string(char arr[])//{// int len = strlen(arr);// char temp = arr[0];// arr[0] = arr[len - 1];// arr[len - C语言入门(for循环)
while,for和do while是C语言里的循环语句,而在C语言中几乎所有的循环都能用for循环来实现。今天我来分享一下for循环的初步应用。格式如下:for(表达式1;表达式2;表达式3){循环内部}表达式1代表初始化内容(只用一次)表达式2代表判断条件(满足则进入循环)表达式3代表每次循环结束所作调整注意:在for循环中 这三个表达式根据所用情况不同,均可以 10min快速回顾C++语法(二)
⭐写在前面的话:本系列文章旨在短时间内回顾C/C++语法中的重点与易错点,巩固算法竞赛与写题过程中常用的语法知识,精准地解决学过但有遗忘的情况,为算法刷题打下坚实的基础。三、关于printf的格式化输出3.1 保留位数float, double等输出保留若干位小数时用:%.4f, %.3lf3.2 最小数字宽度3.2.1 %8.3f表示这个浮点数的最小宽度为8,保留3位小数,当宽度不足时在前面补空 C语言分支语句if&switch
两种语句都是选择结构if语句的形式是:if(表达式1;表达式2;表达式3;~){ 语句1;语句2;}else语句switch语句的形式是:switch(变量){case: 常量1;语句;break;case: 常量2;语句;break; 注意当上面case后面没有break时将会执行该case后面的语句}default:语句;break;#includeint main()int c杨氏矩阵
int findnum(int arr[3][3], int k, int* px, int* py)
{
int x = 0;
int y = *py - 1;
while (x = 0)
{
if (arr[x][y] > k)
{
y--;
}
else if (arr[x][y] < k)
{
x++;
}
els c语言-day3
今天巩固了昨天day2的内容,并开始了C语言的新内容一 VS编译器的常见不安全错误学习和处理黑窗一闪而过的情况,打开项目-属性-链接器-系统-子系统里面选择控制台应用并保存就能解决scanfstrcopy等等函数在VS编译器下使用是不安全会报错的,VS建议使用scanf_s来代替使用,但是这样是不建议的,原因是不可跨越平台的使用,在其它编译器的环境下不可使用解决方法推荐在安装包VC文件中找到new LeetCode-318. Maximum Product of Word Lengths
Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the two words do not share common letters. You may assume that each word will contain only lower Qt学习第三天
一、QPainter绘图1.整个绘图系统基于Qpainter,QPianterDevice和QPainEngine三个类2.QPainter用来执行绘制的操作,QPaintDevice是一个二维空间的抽象,这个二维空间允许QPainter在上面进行绘制,也就是QPainter的工作空间。3.QPiantEngine提供了画笔(QPianter)在不同设备上绘制统一的接口。QPaintEngine类 C语言链接和存储类型(15)
链接概念链接是C语言程序编译的一个步骤,就是对程序中引用的外部变量或函数(例如标准库中定义的变量或函数)进行解析,将它们的定义包含到C语言程序中,形成一个完整的可执行程序。例如:C语言中程序声明了a,b,c三个变量和func函数,其中a,b变量定义均在当前文件中,变量c和函数func是引用其他库或文件中的定义中,链接会将c变量定义和func函数定义信息合并到当前程序,形成完整的程序。C语言链接分为 常量
1、字面常量:直接写出来的常量2、const修饰的常变量(1)const为常属性,是一个修饰符,加在int前面,用来给这个变量加一个不变的属性,这个const的属性表示这个变量的值一旦初始化,就不能再修改了。如果试图对常量进行修改,把它放在赋值运算符的左边,就会被编译器发现,并且出现一个错误。(2)被修饰的变量为变量但又具有常属性所以叫做常变量,但是其本质还是一个变量。将常变量运用到数组中会发现编 解决vscode中小黑窗一闪而过的问题
在每一个程序后加system("pause");在每一个程序后加getchar();一劳永逸修改launch.json文件原: "program": "${workspaceFolder}/exe/a.exe", // 将要进行调试的程序的路径 "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可 标准C++库string及STL相关函数
一.标准C++库字符串类std::string的用法 #include std::string s1; std::string s3(s2); std::string s2("this is a string"); begin 得到指向字符串开头的Iterator end 得到指向字符串结尾的Iterator rbegin 得到指向反向字符串开头的