一、字符、字符数组和字符串
字符组成的数组叫字符数组;
末尾带有结束符号\0的字符数组叫字符串。
二、指针
1.指针类型:指针变量和其他变量一起定义,有数据类型,决定运算时候移动的步长,基本字节数即为其数据类型字节数。
同时编译器决定‘不同类型指针’‘指针和指针之间’不能计算,否则需要强转
强转:(强转时,指针类型没有改变,变得是地址指针常量)
char* h; //字符类指针
int c = 10; //整型变量
h = (char*)&c; //强转:将c地址强转为字符常量,可实现跨类型指针
*h = 20; //指针操作
printf("%d\n", c); //输出
system("pause");
2.指针初始化:避免野指针问题,永远不要使用未初始化的指针
可初始化为指明位置
也可以初始化为NULL
3.指针运算:
1.赋值(同类型或强转)
2.取地址(&)和取内容(*)
3.指针与整数加减(与数据类型字节数有关)
4.关系运算(==、<、>、!=):通过地址比较或者和NULL(全0)比较
输入:两个数字
输出:由小到大排序的两个数字
代码:
#include<stdio.h>
#include<stdlib.h>
int main() {
int a,b; //两个变量
int* p=NULL, * q=NULL,*m=NULL; //两个操作指针和一个中间变量
p = &a; //指针初始化
q = &b;
scanf_s("%d\t%d", &a,&b); //输入
if (*p> *q) { //比较操作(指针)
m = p;
p = q;
q = m;
}
printf("%d\t%d\n",*p,*q); //打印输出
system("pause");