初学c++,跟其他的编程语言不同的语法,记录如下:
- 1.输出
cout<<"输出:"<<endl;
- 2.获取输入
int a;
cint>>a;
- 3.string字符使用
1)char str1[] = "Hello World";
cout<<str1<<endl;
2)#include<string>
string str2 = "Hello World";
cout<<str2<<endl;
- 4.数组长度获取
1)一维数组
int a[10]={1,2,3,4,5,6,7,8,9,10};
int length1 = sizeof(a)/size(a[0]);
int length2 = size(a)/siezeof(int)
2)二维数组
int num[][3]={1,2,3,4,5,6};
int length_row = sizeof(num)/sizeof(num[0]) ;//行
int length_col = sizeof(num[0])/sizeof(num[0][0]);//列
5.c++一些语法必写
1)头文件
#inclue <iostream>
using namespace std;
2)主函数
int main(){
}
3)返回值
return 0;
4)暂停
system("pause");
- 6.指针
1)指针指向地址
int a = 10;
int* p;
p = &a;//让指针p记录变量a的地址 &是取地址
cout<<"a的地址为 : "<<&a<<endl;
cout<<"a的地址为 : "<<p<<endl;
2)指针指向数据(解引用)
*p=1000; // * 是解地址
cout<<*p<<endl;
3)常量指针
指针的指向可以更改,但是指针指向的值不可以更改
int b=10;
const int* p =&b;
*p = 20;//报错
p = &a//正确
4)指针常量
指针的指向不可以更改,指针指向的值可以更改。
int* cost p = &b;
*p = 20;//正确
p = &a;//错误
总结一下指针常量和常量指针:
(int * const p) 指针常量 指针是个常量,指向不可更改,int contst *p = &a; *p=30;
(const int * p) 常量指针 常量的指针,常量(值)不可更改,const int *p =&a; p=&b;
记忆的时候,int * const :int*指针,const 常量,指针常量,指针是常量,指向不可改
const int*: const 常量,int* 指针,常量指针,常量的指针,常量(值)不可改
5)
指针的指向和指向的值,都不可以更改
const int* const p = &b;
*p=20;//错误
p=&a;//错误
- 7.指针指向数组
int arr[5]={1,2,3,4,5};
int* p =arr;//数组本身就是地址,就不用&取地址了
cout << *p<<endl;//输出1 arr[0]
p++;
cout<<*p<<endl;//输出2 arr[1]
- 8.结构体
struct Student{
string name;
int age;
int score;
}
struct Student s1={"张三",18,100};
//结构体数组
struct Student stuArray[3]={
{"张三",18,90},
{"李四",20,89},
{"王五",19,99}
}
for(int i =0;i<3;i++){
cout<<"姓名:"<<stuArray[i].name
<<"年龄"<<stuArray[i].age
<<"分数"<<stuArray[i].score<<endl;
}
//结构体指针,访问结构体属性,需要利用'->'
Student* p = &s1;
cout << "姓名:" << p->name << endl;