10 2022 档案
摘要:字符串:可以理解为是由一串字符组成的数组。 定义一个字符串:char s[]="hello"; #include<stdio.h> int main() { char s[]="hello";//这种方式字符串是不能通过指针被修改的,因为“hello”表示的是常量,如果要修改只能通过下标 char
阅读全文
摘要:二级指针:可以理解为指向指针的指针,存放的是指针变量的地址。 下面用一级指针来保存一个指针变量的地址; #include<stdio.h> int main() { int *p1; int *p2; int data; p1=&data; p2=&p1; printf("p1保存的地址=%p\n"
阅读全文
摘要:指针函数:返回指针的函数,即函数返回一个地址。例如:int * a(int x,int y);由于()的优先级比*高,因此a先与()结合,a(int x,int y)显然是一个函数,函数前面带一个int * 表示返回值为int * 类型,也就是指向整型的地址。 输入一个学生编号,打印一个学生得成绩:
阅读全文
摘要:指针数组:一个数组,若其元素均为指针类型的数据,称为指针数组,指针数组存放的是指针类型的数据,也就是指针数组的每个元素都存放一个地址。下面定义一个指针数组: int * p[4];//[]的优先级是比*高的,所以p先和[]结合,p[4]明显是一个数组,表示p数组有四个元素,int *表示每一个数组元
阅读全文
摘要:定义函数地址:如果在程序中定义了一个函数,那么在编译的时候,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(也叫入口地址)称为这个函数的地址。 和数组一样,数组名代表地址,而函数名表示函数地址。 函数的调用:可以通过函数名直接调用,也可以通过函数指针间接调用。 函数指针定义:函数返回值类
阅读全文
摘要:定义一个数组指针,指向二维数组: int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int (*p)[4];//定义二维指针数组 p=a;//指向二维数组,数组指针等同于二维数组名 #include<stdio.h> int main() { int a
阅读全文
摘要:二维数组a的有关指针: 表示形式 含义 地址 a 二维数组名,指向一维数组a[0],即0行首地址 2000 a[0] ,*(a+0),*a 0行0列元素地址 2000 a+1,&a[1] 1行首地址 2016 a[1],*(a+1) 1行0列元素a[1][0]的地址 2016 a[1]+2,*(a+
阅读全文
摘要:二维数组的每个元素都是一个一维数组,例如int arr[2][3]={{1,2,3},{4,5,6}}; 下面通过几个例子来对二维数组进行深入了解:二维数组可以看作是一个父数组,他的每个元素都是一个一维的子数组。 (1)数组名表示数组首元素的地址,那么arr表示的是谁的地址?arr表示的是ar首元素
阅读全文
摘要:在C语言中,数组名代表数组中首元素的地址,所以,下面两句获取数组的首地址是等价的: #include<stdio.h> int main() { int a[5]={1,2,3,4,5}; int *p=&a[0]; int *p2=a; printf("地址p=%p\n",p); printf("
阅读全文
摘要:在学习单片机的时候,经常需要让一个指针指向固定的区域,这时候应该怎么操作? #include<stdio.h> int main() { int *p; int a =10; p=&a; printf("改变前变量a的地址=%p\n",&a); p=(int *)0x000000000061FE33
阅读全文
摘要:指针是存放变量的地址,那为什么要区分类型?不能所有类型的变量都用一个类型吗?下面用一个例子来说明这个问题。 #include<stdio.h> int main() { int a=0x1234; int *p=&a; char *c=&a; printf("p指向的变量a的地址=%p\n",p);
阅读全文
摘要:指针就是地址,变量的值可以通过两种方式访问,一个是通过变量名,一个是通过地址访问。 从而引出一个问题,即什么是指针变量?整型(字符)变量就是存放整形(字符)的变量,指针变量就是存放指针的变量,也就是存放地址(16位表示)的变量。 指针变量本身也是有一个地址的。 例子: #include<stdio.
阅读全文
摘要:#include <stdio.h> void printData(int data) { printf("%d\n",data); } //形参中不存在数组的概念,即便中括号约定了数组的大小,也无效,传递的是一个地址,是数组的首地址 void printArr(int arry[], int le
阅读全文
摘要:#include<stdio.h> //实参:函数原型中声明函数后面带的参数 int test(int x)//函数原型 { //函数体 printf("test里面的x地址=%p",&x); return x; } //变量的要素:变量名、变量类型、值、地址 int main() { int x=
阅读全文
摘要:#include<stdio.h> int main() { int array[2][3]={{1,2,3},{4,5,6}}; for(int i=0;i<2;i++) { for(int j=0;j<3;j++) { printf("%d\t%p",array[i][j],&array[i][
阅读全文
摘要:#include<stdio.h> int main() { /*简单选择排序:从大到小:一共比较sizeArr-1轮,每一轮的第一个数是arr[i],第一个数依次和它后面的每个数比较*/ int arr[10]={20,10,7,15,58,2,45,122,4,52}; int sizeArr=
阅读全文
摘要:#include<stdio.h> int main() { /*冒泡排序:从大到小*/ /*i=0 第1轮(i+1):需要比较9次(sizeArr-i-1)*/ /*i=1 第2轮(i+1):需要比较8次(sizeArr-i-1)*/ /*i=2 第3轮(i+1):需要比较7次(sizeArr-i
阅读全文
摘要:#include<stdio.h> int main() { int a[10]; int size=sizeof(a)/sizeof(a[0]);//计算数组得大小 for(int i=0;i<size;i++) { a[i]=i*100; printf("address:%p,data:%d\n
阅读全文
摘要:XAML是WPF技术中专门用于设计UI的语言。优点在于: (1)XAML可以设计出专业的UI和动画——好用。 (2)简单易懂,易学。 (3)设计师可以直接参与软件设计,随时沟通,无须二次转化——高效。 (4)最重要的优点在于它帮助团队真正实现了UI与逻辑的剥离,与UI相关的元素集中在程序的U层、与逻
阅读全文
摘要:CLR翻译为"公共语言运行库",全称是Common Language Runtime,它是一个可以由多种语言使用的“运行时”,CLR的核心功能如内存管理,程序集加载,安全性,异常处理和线程同步,可以面向CLR的所有语言 使用。例如,“运行时”使用异常来报告错误,面向它的语言都能通过异常来报告错误。另
阅读全文
摘要:使用NotePad++和gcc编译器来搭建c语言环境 NotePad++:C语言编码器 gcc:C语言编译器 这两个软甲可以去官网下载 下载好进入该文件夹,如图: 添加环境变量:直接cmd,运行gcc会提示找不到文件,必须进入到该文件夹里面才可以,这样就太过麻烦,我们可以添加一个环境变量,使操作简化
阅读全文