![](https://img-blog.csdnimg.cn/20200610144720555.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
ZJE_ANDY
这个作者很懒,什么都没留下…
展开
-
C语言 strcpy()函数的崩溃探索
先看一个代码:#include #include typedef struct T{ char *name; int num;}test; int main(){ test *p = (test*)malloc(sizeof(test)); strcpy(p->name,"jim"); printf("%s\n",p->name);原创 2017-03-30 11:49:05 · 2764 阅读 · 0 评论 -
C/C++能否返回局部变量
1.C/C++能返回static修饰的局部变量(因为在静态存储区)2.C/C++能返回用 new 创建的局部变量(因为在堆空间)3.C/C++能返回指向常量的指针,但不能返回指向普通局部变量的指针,否则返回的是乱码(因为后者创建在栈空间)4.C/C++能返回局部变量的值预备知识: 1.当函数结束时,在栈空间的该函数的普通局部变量会被释放(清除)。2.普通的局部变原创 2017-03-25 17:07:01 · 1510 阅读 · 0 评论 -
C语言enum枚举体的用法
1.枚举体变量只能有固定的几个值如:先构建一个枚举体。enum week{MON,TUE,WED,THU,FRI,SAT,SUN};再创建一个枚举体变量dayenum week day;//day的值只能从MON,TUE,THU,FRI,SAT,SUN选一个,如day = MON,即day =02.枚举体enum的值enum中的值是从0开始的,然后下面的逐次加一,如原创 2017-03-18 20:30:48 · 13360 阅读 · 3 评论 -
C语言结构体,联合体,枚举体的大小计算
1.结构体struct大小计算2.联合体union大小计算3.枚举体enum的大小计算1.结构体struct大小计算奉行两个规则:1.结构体中每个成员的偏移量必须是该成员自己所占内存大小 的整数倍,否则,会用空白字节填充。2.当运用规则1 计算结构体大小完毕后,其结构体大小必须是 该结构体中最大的成员变量 的整数倍,否则会用空白字节填充。偏移量:结构体某原创 2018-03-07 18:52:57 · 3228 阅读 · 2 评论 -
数组指针和指针数组
1.数组指针1.数组指针数组指针:即“数组的指针”,本质为指针,只不过这个指针指向数组而已 。如 int (*p)[4]2.指针数组指针数组:即“指针的数组” ,本质为数组,只不过数组里装的是指针。如 int *p[4] 表示此数组里有4个元素,这4个元素的类型都是 int* 类型。原创 2018-03-01 23:55:29 · 266 阅读 · 0 评论 -
函数指针
函数指针 是 指向函数的 指针变量。如: int (*func)() ,定义一个函数指针 func,func只能指向返回值为 int,且无参数的函数。由于()使 * 和 func 先结合,所以 func本质为一个指针#include void fun(int arg){ printf("call fun function,arg=%d\n",arg);} int m原创 2018-03-02 00:10:08 · 186 阅读 · 0 评论