- 博客(8)
- 收藏
- 关注
原创 什么时候数组和指针是一样的
什么时候数组和指针是一样的The C Programming Language ed. 2 ,P99as format parameters in function definition char s[];and char* s;are equivalent;1.表达式中的数组名(与声明不同)被编译器当作指向该数组第一个元素的指针2.下标总是与指针的偏移量相同3.在函数参数的生命中,数组名被编译器当作指向该数组第一个元素的指针....
2020-12-19 14:21:48 240 1
原创 C语言数组下标可以为负数
C语言数组下标可以为负数个人觉得[]被实现为*(array+i)的话那自然要和i为负数的时候统一.并且似乎将指针索引隐式转换成正数并不能带来什么好处, 访问一个很大的索引未必比访问一个绝对值小的负数来的更加安全(虽然可能都是危险行为)...
2020-12-19 14:20:51 1898 1
原创 C++类成员初始化
初始化类的成员变量有三个位置进行初始化:声明时初始化:初始化列表初始化( 成员变量初始化的顺序是按照在那种定义的顺序)以下三种情况下必须使用初始化成员列表一、需要初始化的数据成员是对象,且该对象不能默认构造。(这里包含了继承情况下,通过显示调用父类的构造函数对父类数据成员进行初始化);因为使用初始化列表可以不必调用默认构造函数来初始化,而是直接调用拷贝构造函数初始化。二、需要初始化const修饰的类成员;(C++11后,声明时初始化也可以)三、需要初始化引用成员数据;对于一补充:c++ p
2020-12-19 14:19:41 1354 1
原创 C 内存布局 Memory Layout of C Programs
C 内存布局 Memory Layout of C ProgramsA typical memory representation of C program consists of following sections.Text segmentInitialized data segmentUninitialized data segmentStackHeap1. Text Segment:A text segment , also known as a code segment or
2020-12-19 14:18:06 350 2
原创 NULL and nullptr
NULL and nullptr#if defined(__need_NULL)#undef NULL#ifdef __cplusplus# if !defined(__MINGW32__) && !defined(_MSC_VER)# define NULL __null# else# define NULL 0# endif#else# define NULL ((void*)0)#endif#ifdef __cplusplus#if def
2020-12-19 14:16:26 150 1
原创 void main 与 main(void)
void main 与 main(void)第二个答案:https://www.zhihu.com/question/358133724Returns: a pointer to void if successful, or NULL if not.void main似乎是一个遗留问题,在之后void main应该是个ub ,编译器不会执行类型检查,汇编正常执行有的编译器或许会添加上return 0;而对于main(void):取自:https://www.zhihu.com/ques
2020-12-19 14:15:34 1863 1
原创 指针与数组并不相同
指针与数组并不相同《C专家编程》对于char a[9] = "abcdefg"; c = a[i];编译器符号表具有一个地址9980 运行时步骤1:取i的值,并将它与9980相加 运行时步骤2:取地址(9980+i)的内容char *p; c = *[p];编译器符号表具有一个符号p,它的地址为4624 运行时步骤1:取地址4624的值,就是 '5081' 运行时步骤2:取地址5081的内容多了一次额外的提取当你定义为指针,但以数组方式引用ch
2020-12-19 14:13:40 83 1
原创 缓冲区溢出
缓冲区溢出https://docs.microsoft.com/zh-cn/windows/win32/SecBP/avoiding-buffer-overrunsBuffer overruns can occur in a variety of ways. The following list provides a brief introduction to a few types of buffer overrun situations and offers some ideas and resou
2020-12-19 14:12:31 75 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人