
C/C++
Galaxy_hao
在读研究生
展开
-
NULL和nullptr区别
NULL是C语言中的表示指针为空的关键字。在C++中,可以用NULL和nullptr来表示指针为空,其中nullptr是C++11中新引入的,主要是为了解决NULL表示空指针在C++中具有二义性的问题。C中NULLC语言中,NULL通常被定义为:#define NULL ((void*)0)所以NULL实际是一个空指针,如果在C语言中写入一下代码,编译是没有问题的,因为在C语言中把空指针赋给...原创 2019-10-31 13:49:50 · 850 阅读 · 0 评论 -
C/C++编译器比较
C++编译器Linux系统GCC-1985GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。gcc是GCC中的GUN C Compiler(C 编译器)g++是GCC中的GUN C++ Compiler(C++编译器)主要区别对于 *.c 和 *.cpp 文...原创 2019-10-20 17:13:31 · 1148 阅读 · 0 评论 -
C/C++发展历史
C发展1972,C语言在B语言基础上由 Ken Thompson(肯·汤普逊)和D.M.Ritchie(DM里奇) 共同完成。1978,丹尼斯·里奇和布莱恩·柯林汉合作出版了《C程序设计语言》的第一版。C++发展1979,Bjarne Stroustrup(比雅尼·斯特劳斯特鲁普)开始工作于C with Classes。1983,C with Classes改命名为C++。1985,B...原创 2019-10-20 15:23:43 · 515 阅读 · 0 评论 -
assignment makes pointer from integer without a cast(C语言头文件)
一个很傻的错误 以下代码在CodeBlock中可以正常编译执行#include <stdio.h>#include <stdlib.h>//#include <string.h>int main(){ char s[] = "原创 2018-07-23 22:38:05 · 29466 阅读 · 0 评论 -
C语言编译过程及gcc简易用法
C代码编译成可执行文件,可以分为4个阶段,如下图所示(图片来自CSAPP),执行这四个阶段的程序(预处理器、编译器、汇编器、链接器)一起构成了编译系统: 预处理:宏定义展开、头文件展开、条件编译、同时将代码中注释删除,这里不检查语法 gcc -E hello.c -o hello.i编译:检查语法,将预处理后文件编译成汇编文件 gcc -S hello.i -o hello.s汇编...原创 2018-07-26 09:20:54 · 751 阅读 · 0 评论 -
string.h、cstring和string区别
<string.h>C版本头文件,对应基于char*的字符串处理函数<cstring>c++对标准c字符串处理函数的c++增强<string>C++标准库(STL)中string字符串类,定义了字符串的各种操作...原创 2018-08-19 21:40:30 · 3708 阅读 · 1 评论 -
Qt Creator中fopen打开文件失败
示例代码:fp = fopen(&amp;quot;1.txt&amp;quot;,&amp;quot;r&amp;quot;);//返回fp == NULL;Qt Creator中构建目录不在工程目录中,而是和工程目录在同一级目录中解决方法参考:Qt Creator怎样更改默认构建目录...原创 2018-08-22 20:03:03 · 4394 阅读 · 0 评论