-
有固定作用域的变量,也称为自动变量,即内存空间的分配和销毁是自动的。大括号{ }结束就销毁释放,便无法再使用这个变量。

自动变量有的地方也叫栈内存,但还是有差别。c++中自动变量用栈的方式管理。栈是先进后出。
堆内存:与栈内存不同,堆内存上的空间不会随着作用域的结束而被释放回收。所以堆内存上的空间必须要手动释放。堆内存用到的函数在stdlib.h这个头文件中。其中malloc是如何分配一片内存,返回值是指针,是分配的内存空间的首地址。释放时使用:free(指针名)
查看全部 -
指针变量:存放变量在内存中的地址。定义一个指针后,它里面存放的是随机地址,此时它是野指针,操作野指针非常危险,所以要给指针赋值。
取地址符:&
例如:int a=10;
int *p; //这个写法就属于野指针,正确做法是将指针赋值为空int*p=nullptr,空指针意思是这个指针不指向任何地方。
p=&a; //此时指针变量p里存放的就是变量a的地址

指针运算符:*(用来取得某个地址上的数据)

查看全部 -
枚举类型:
enum Week { Mon, // 星期一 Tue, // 星期二 Wed, // 星期三 Thu, // 星期四 Fri, // 星期五 Sat, // 星期六 Sun, // 星期日}; #include <iostream> int main(int argc,char **argv) { Week week = Week::Mon; std::cout<<"week:"<<Mon<<std::endl; return 0; }输出结果week:0
查看全部 -
结构体:几种相同或者不同的基本数据类型的组合。(类似于其他语言中的自定义类型)
输出第20个学生的数学和英语成绩:
struct Student { int math; int english; }; #include <iostream> int main(int argc,char **argv) { struct Student stu[50]; stu[20].math = 90; stu[20].english = 95; std::cout<<"第20个学生的数学和英语成绩分别是:"<<stu[20].math<<","<<stu[20].english <<std::endl; return 0; }查看全部 -
数组是一个整体,它的内存是连续的
给数组中部分元素赋值:当 {} 中的元素数量少于 [] 中定义的长度的时候,只给前面部分元素赋值,后面的未指定的元素,将被赋值为 0。如下例:
#include <stdio.h>
int main(int argc,char **argv)
{
int a[4] = {1, 2}; // 1, 2, 0, 0
return 0;
}借用此特性,可以把数组的所有元素初始化为 0。
输出一个长度为4的数组的第一个和第三个元素:
#include <iostream>
int main(int argc,char **argv)
{
int a[4] = {1, 2};
std::cout<<"a[0]:"<<a[0]<<"\n"<<"a[3]:"<<a[3]<<std::endl;
return 0;
}
查看全部 -
与:&&
或:||
非:!
查看全部 -
布尔型的用法:
#include <iostream> int main(int argc,char **argv) { int a = 1; int b = 2; bool c1=a>b; bool c2=a<b; printf("bool c1: %d\n",c1); printf("bool c2: %d",c2); return 0; }查看全部 -
输出各个数据类型的长度:
#include <iostream> int main(int argc,char **argv) { printf("int: %d\n", sizeof(int)); printf("float: %d\n", sizeof(float)); printf("char: %d\n", sizeof(char)); printf("double: %d\n", sizeof(double)); return 0; }查看全部 -
输入多个数据:
#include <stdio.h> //(c) int main() { int a = 0; int b = 0; scanf("%d, %d", &a, &b); return 0; } #include <iostream> //(c++) int main(int argc,char **argv) { int a = 0; int b = 0; std::cin >> a >> b; return 0; }使用 cin 可以连续从键盘读取想要的数据,以空格、tab键或换行符作为分隔符。cin 相对于 scanf 来说,不需要指明类型,用起来更方便一些。
查看全部 -
输出多个变量:
#include <stdio.h> //(c) int main() { int a = 99; int b = 98; printf("a: %d, b: %d", a, b); return 0; } #include <iostream> //(c++) int main(int argc,char **argv) { int a = 99; int b = 98; std::cout<<"a:"<<a<<",b:"<<b<<std::endl; return 0; }查看全部 -
输出一个常量:
#include <iostream> //(c++) int main(int argc,char **argv) { const int c = 10; std::cout<<c<<std::endl; return 0; } #include <stdio.h> //(c) int main() { const int c = 10; printf("%d",c); return 0; }查看全部 -
输出一个变量:
#include <iostream> //(c++) int main(int argc,char **argv) { int a=99; std::cout<<a<<std::endl; return 0; } #include <stdio.h> //(C) int main() { int a=99; printf("%d",a); return 0; }查看全部 -
分别用C和C++输出hello Word:
#include<iostream> #include <stdio.h> int main(int argc,char **argv) { printf("Hello World!this is C++ style\n"); std::cout<<"hello word!this is C++ style"<<std::endl; return 0; }查看全部 -
c++无GC机制(自动垃圾回收机制),编程中不但要考虑资源的分配,还要考虑资源的回收,要记得手动释放资源。是密集运算,视频流媒体,人工智能等对性能要求非常高的领域几乎唯一的选择,不适用Web服务器,界面开发,移动应用开发等领域,
查看全部 -
1.main 函数是程序的入口,一个程序里,有且只有一个 main 函数。程序从 main 函数开始执行,到 main 函数结束而终止。
2.
#include <stdio.h> int main(int argc,char **argv) { printf("Hello World!\n"); return 0; }(int argc,char **argv),这是一个参数列表。第一个参数"argc"表示参数个数,第二个参数"argv"是参数组,两个参数一起表达了这个程序的启动参数。return语句,main函数有一个返回值,这个返回值表示程序执行结果。0表示程序执行成功,没有出现问题。如果返回值是非0,那么这个程序执行就出现问题。
查看全部
举报


