- 博客(6)
- 收藏
- 关注
原创 一级指针
1.指针的类型 a)空指针 int *p=nullptr; b)野指针 int *p; c)实效指针(失能指针) int *p=(int*)malloc(sizeof(int)*5); free(p); 注意:不要形成野指针和失效指针,容易造成很严重的问题。 指针可能占用4个字节(32位),也可能占用8个字节(64位)。 2.指针的声明 int *p; //*和p结合,不是和int int *s,t;//s是指针,t不是指针 (int*)s,t;//把s和t强转为指针类型 3.指针的使用 int
2021-04-18 22:49:22
158
原创 联合体(共用体)
1. 联合体的定义 联合体:对同一块内存空间,采取不同类型进行解释(共用一块内存空间) union 联合体名 { 成员变量 //(可以是基本数据类型,指针,数组和结构体类型) }; 2.哑元 像这种不带类型名字的叫做哑元 union { ..... }a; //a不是联合体的名字 typedef union //变成了类型名 { ..... }a; 3.联合体内存空间的分配 下面代码的内存空间分配如下图: union undata { short st; char cs[2]; }; i
2021-04-18 21:24:08
2798
6
原创 结构体
1.结构体的定义 结构体是一种特殊的数据类型,由程序员自己设计,分配的内存空间连续。 struct 结构体名 { 成员列表 //可以是基本数据类型也可以是,指针,数组,其他结构体,联合体等 }; 结构体本身并不占用空间,结构体变量才占用空间。 结构体成员的顺序就是内存分配的顺序。 2.结构体的内存对齐 struct Student { char s_id[10]; char s_name[10]; char s_sex[4]; int age; }; int main() { struct Studen
2021-04-18 18:21:24
367
3
原创 预编译-编译-汇编-链接的过程
1.整体的过程 #icluude<stdio.h> int main() { printf("hello\n"); return 0; } 上述代码的执行需要四个步骤:预编译(prepressing)、编译(compilation)、汇编(assembly)和链接(linking),如下图所示:
2021-04-18 17:48:17
744
原创 C语言数据类型、常量类型和关键字总结
1.基本数据类型和所占字节数 1个存储单元是1个字节,8个二进制位 基本数据类型 所占字节数 char 1 short 2 int 4 long int 4 long long 8 float 4 double 8 long double 8、12、16都可能 bool 1 2.其他数据类型 空(void),结构体类型(struct),联合体类型(union),数组类型等等。。 3.常量类型 常量 例子 字面常量 1 , 2.56 , -1
2021-04-09 22:26:19
468
原创 04-07输出字符串为10进制数字
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> #include<limits.h> int my_hex(const int*sp)//16进制 { int sum=0; while(isdigit(*sp)) { int x=0; if(isdigit(*sp) {
2021-04-08 10:53:57
258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人