- 博客(7)
- 收藏
- 关注
原创 c语言之字符串-探究字符数组和字符指针
1.sizeof操作符来得到字符数组(字符串)的大小(1)sizeof所代表的意义和用法int main(){ int a=1; printf("%d\n",sizeof(a)); 4 printf("%d\n",sizeof a); 4 printf("%d\n",sizeof 10); 4 printf("%d\n",sizeof(10)); 4 pr...
2020-12-04 16:21:10
223
原创 c语言之字节对齐-更多细节和位段
1.更多自定义类型字节对齐(1)struct作为数据成员struct Test // 8+16+4+4{ int a; // 4+4 struct // 8+2+2+4 { double b; // 8 char c; // 1+1 short d; // 2 }; int e...
2020-11-16 18:15:55
359
原创 c语言之字节对齐-初步认识
1.字节对齐的概念(1)背景当系统为我们划分一段连续内存空间时,cpu在访问内存空间数据理论上时可以从任意地址访问随机大小的数据。但是由于硬件方面和操作系统的问题,CPU在读写内存的时候是以内存块来读取内存的,所以如果在读取了一个int数据紧接着又读取一个char型数据,那么可能cpu会直接读取到更多的地址。然后再重新定位到char的内存地址上。当然,这是在每个数据都连续内存存放的情况下,显然,CPU的访问效率会降低很多。(2)什么是字节对齐为了提高CPU的内存访问效率。于是引入了字节(内存)对齐
2020-05-26 17:34:35
167
原创 C语言之指针-复杂指针类型解析
1.什么是复杂指针int a;int *a;int * (*(*a)); int *(*(*pfun)(int *))[5];(1)指向指针的指针通常我们称int *a,指针a就是一个常见的指向int类型的指针变量。int **a就是一个二级指针,它是一个指向指针的指针,int *是一个整体,被指向对象。而三级指针int ***a同样如此, 所指的对象是一个int **类型,所...
2020-04-14 18:33:22
898
原创 c语言之指针-指针函数和函数指针与指针数组和数组指针
1.函数指针和指针函数的概念(1)之前在上篇文章中说到int (*pArr)[10]为数组指针,而函数指针和数组指针类似,形如int (*pFun)(int,int)这种就叫做函数指针。函数指针和函数是有区别的,实质上它是一个指针,所以(*pFun)必须要有(*)。函数指针也叫做指向函数的指针。(2)指针函数int *fun(int a,int b){ int* p=&a;...
2020-04-02 12:42:37
318
2
原创 c语言之指针-深入分析
1.指针的概述int a=123456789; char * pch=(char *)&a;short * ps=(short *)&a;unsigned short *ups=(unsigned short *)&a;int *pi=&a;printf("%d\n",*pch);printf("%d\n",*ps);...
2020-03-27 16:03:33
464
2
原创 c语言之指针-初步解析
1.c语言三大类型种类:(1)内置类型:char, short, int, double等(2)自定义类型:struct,union(c++中的class)等(3)指针类型:int*, char*, float*等不管是内置类型还是自定义类型都有相对应的指针类型先来研究一下基本数据类型和基本类型的指针2.基本数据和指针所占空间大小的问题(1)如下代码在vc中的运行:printf(...
2020-03-25 16:29:09
1216
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人