C语言
Am最温柔
每天都有觉得自己太菜的焦虑,解决方法也很简单,好好学习就行了,今天也要加油鸭~
展开
-
sizeof和strlen函数的一点
#include<stdio.h>#include<string.h>int main(){char *a = "abc123";char b[] = "abc123";int sizea_value = sizeof("abc123"); //7int sizea = sizeof(a); //8int sizeb = sizeof(b); //7int strlena_value = strlen("abc123"); //6int strlena = str原创 2021-02-24 22:24:00 · 87 阅读 · 0 评论 -
static修饰的变量是不是仅限于本文件使用的问题C++
static修饰的变量是不是仅限于本文件使用的问题:加了static确实限制了其作用域为本文件,在不include的情况下,即使Extern之后也不能使用(编译不过)例子如下:a.cpp文件如下:#include<iostream>using namespace std;int a = 123;b.cpp文件如下:#include<iostream>using namespace std;extern int a;int main(){ cout&原创 2021-01-22 15:38:14 · 1324 阅读 · 0 评论 -
阅读C primer plus第十二章记录—— 多文件C程序(包含概念:存储类别、链接和翻译单元、extern关键字)
由于学习C语言时仅仅学习单文件C程序,工作中发现工程中的C代码都是多文件组织而成的,发现自己看不懂= =,来补补课,此处都是《C primer plus》内容复制和总结。目录一、内存用于存储程序中的数据,由存储期、作用域和链接表征。1.存储期可以是静态的、自动的和动态分配的。2.作用域决定程序的那些部分可以访问某数据。3.链接描述定义在程序某翻译单元中的变量可被链接的程度。3.1 无链接3.2 外部链接3.3 内部链接二 、C的五种存储类别1. 自动2. 寄存器3. 静态、无链接4. 静态、外部链接5.原创 2020-08-09 15:04:21 · 216 阅读 · 0 评论 -
C语言中typedef struct VNode{} AdjList[MaxSize];含义
引自C/C++ typedef用法详解(真的很详细)typedef 还可以掩饰复合类型,如指针和数组。例如,你不用像下面这样重复定义有 81 个字符元素的数组:char line[81];char text[81];定义一个 typedef,每当要用到相同类型和大小的数组时,可以这样:typedef char Line[81];Line text, secondline;getli...原创 2020-05-07 17:02:07 · 5322 阅读 · 3 评论 -
浙大慕课数据结构-11-散列2 Hashing (25分)
这个参考了这篇文章,11-散列2 Hashing (25分)我试着不用容器vector,替换成int v[Tsize];一样可以AC错误记录: int i,p = (N%2)? N+2:N+1;//wrong used int i,p = (p%2)? N+1:N+2 找下一个指数的代码昨天刚写过,这里就犯错两个for(i=sqrt(q);i>=2;i–){//这里i>...原创 2020-05-03 19:29:30 · 187 阅读 · 0 评论 -
C语言自动和强制类型转换小记
1.表达式中的自动类型转换,例如两个操作数在进行加减乘除运算时,会将取值范围较小的操作数转换成范围较大的操作数类型。2.赋值中的自动类型转换,规则是:将右侧表达式的值转换成左侧变量的类型。3.强制类型转换运算符:(类型)表达式,注意,此种方式下并不能改变变量的数据类型。4.当函数被调用时,生命将对参数进行自动强制类型转换,例如sqrt的函数原型,double sqrt(double);...原创 2020-05-03 11:32:45 · 348 阅读 · 2 评论 -
慕课浙大数据结构-09-排序1 排序 (25分)
排序练习写了冒泡排序,插入排序,希尔排序,堆排序,归并排序(递归和非递归)错误:for(j=i-1;j>=0&&temp<a[j];–j){//forget j>0对于循环控制变量为递减的循环,记得把j>0作为一个条件对于for(int i=0;i<N;++i)在循环中定义的变量似乎在退出循环之后没有办法继续使用//wrong used el...原创 2020-04-23 18:58:11 · 263 阅读 · 0 评论 -
关于C语言未初始化的指针和空指针
指针p定义的同时初始化,这样可以正常运行,代码如下:#include <stdio.h>int main(){ int a; int *p=&a; scanf("%d",p); printf("%d",*p); return 0;}指针初始化为空,此时不能正常运行,代码如下:#include <stdio.h>...原创 2020-04-16 12:43:43 · 2340 阅读 · 0 评论 -
慕课浙大数据结构-05-树8 File Transfer (25分)
忘了参考哪个博客了,并查集,数组下标代表存放的值,数组元素代表其父节点下标,根节点的元素值为负数,其绝对值为含有节点数量#include<stdio.h>int s[10005];//forget the ";"// int find(int x){// for(;s[x]>0;x=s[x]);// return x;// }int find(in...原创 2020-04-16 11:55:01 · 125 阅读 · 0 评论 -
慕课浙大数据结构-05-树9 Huffman Codes (30分)
参考05-树9 Huffman Codes (30分)写的错误记录:1.堆的插入和删除代码不是很熟练void Insert(pHeap H,struct TreeNode T){ int i = ++H->size; for(;T.weight < H->Data[i/2].weight;i/=2){//wrong used T.weight < H-...原创 2020-04-16 11:28:13 · 191 阅读 · 0 评论 -
慕课哈工大C语言程序设计精髓-课后练习
第2周——数字间的那些事儿,做点计算哈编程题选做总是犯错的地方:(1)scanf的&有的时候会忘记(2) scanf("%lf,%d,%lf",&rate, &year, &capital);如果不类型不匹配就无法正常读入变量(3)x1=(-3/(2.02.0))+sqrt(33-421)/(22);记得加括号(2.02.0),同时注意除法要想得到小数的结果...原创 2020-04-04 11:19:31 · 687 阅读 · 0 评论