C语言-指针入门与基本数据类型

41 阅读1分钟

标识符含义

.h .hpp 后缀为(声明文件 头文件)
.c .cpp 后缀为(实现文件)
<> 寻找系统资源
"" 寻找自己写的资源
getchar(); 阻塞程序

打印函不同数据数占位符含义

int i = 100;
double d = 300;
float f = 200;
long  l = 400;
short s = 500;
char c = 'c';
char *string = "main";
///打印函数
printf("后面的占位符打印 int 类型数据 %d\n",i);
printf("后面的占位符打印 double 类型数据 %lf\n",d);
printf("后面的占位符打印 float 类型数据 %f\n",f);
printf("后面的占位符打印 long 类型数据 %d\n",l);
printf("后面的占位符打印 short 类型数据 %d\n",s);
printf("后面的占位符打印 char 类型数据 %c\n",c);
printf("后面的占位符打印 String 类型数据 %s\n",string);

常用数据占用字节数

printf("int 数据占用字节数 %lu\n" ,sizeof(int)); 4
printf("double 数据占用字节数 %lu\n" ,sizeof(double )); 8
printf("char 数据占用字节数 %lu\n" ,sizeof(char ));1

`%lu` 是一个格式说明符,用于 `printf` 和 `sprintf` 等函数,以输出一个无符号长整型(`unsigned long`)的变量。

指针

//& 表示取出地址
//*(&num) 表示取出地址所对应的值
int num = 1000;
printf("num 变量的地址是 %p\n" ,&num);
printf("num 变量的地址是 %d\n" ,*(&num));
 
//int * 定义指针
int * pInt = &num;
printf("pInt 指针变量的值是 %d\n" ,*pInt);
//i 值无法改变
void change(int i){
    i = 666;
}

int value = 300;
change(value);
printf("地址值是否改变 %d\n",value);
//i 值可以改变
void change(int *i){
    *i = 666;
}

int value = 300;
change(&value);
printf("地址值是否改变 %d\n",value);

值交换

changAction(&A,&B);

void changeAction(int *a,int *b){
    int temp = *a;
    *a = *b;
    *b = temp;
}