c++学习之路

这篇博客介绍了C++编程语言的基础知识,包括输出与输入操作、字符串使用、数组长度获取、基本语法规范、指针的概念及应用、指针与数组的关系、结构体的定义与使用。通过实例详细解释了指针的常量与常量指针的区别,并探讨了如何通过指针访问数组元素。最后,展示了结构体在存储学生信息时的应用。
摘要由CSDN通过智能技术生成

初学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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值