2020.3.16

今天学习了c++第二部分知识点;

#include <iostream>
using namespace std;
/*
extern int num;
struct stu
{
    int num;
    char name[32];
    void func(void)
    {
        cout<<"我是结构体成员"<<endl;
    }
};
void test01()
{
    //C++语言中不用加struct
    stu lucy={100,"lucy"};
    lucy.func();
}
void test02()
{
    int a=10;
    int b=20;
    cout<<"c++中"<<(a>b?a:b)<<endl;
    //a<b?a:b整体结果是变量本身(引用)左值(能被复制)
    a>b?a:b=100;//b=100
}
void test03()
{
    cout<<"num="<<num<<endl;
    const int data=10;
    cout<<"data="<<data<<endl;
    int *p=(int *)&data;
    *p=2000;
    cout<<"*p="<<*p<<endl;
    cout<<"data="<<data<<endl;
    const stu aa={100,"lucy"};
    cout<<"num="<<aa.num<<", name="<<aa.name<<endl;//
    stu *p1=(stu*)&aa;
    p1->num=2000;
    cout<<"num="<<aa.num<<", name="<<aa.name<<endl;
    int b=20;
    const int a=b;
    p=(int*)&a;
    *p=2000;
    cout<<"*p = "<<*p <<endl;//
    cout<<"a = "<<a <<endl;//
}
#define MAX 1024
const short my=2048;
void func(short i)
{
    cout<<"short类型"<<endl;
}
void func(int i)
{
    cout<<"int"<<endl;
}
void test04()
{
    func(MAX);
    func(my);
}

void test()
{
    const int my=100;
#define MAX 1024
}
void test05()
{
    cout<<"MAX = "<<MAX<<endl;//
}

namespace A
{
    const int num=10;
#define MAX 1024

}
void test06()
{
    cout<<"num="<<A::num<<endl;
    cout<<"MAX= "<<MAX<<endl;
}

void test07()
{
    int num=100;
    int &a=num;
    cout<<"num="<<num<<endl;
    a=200;
    cout<<"num="<<a<<endl;
    //a是num的别名 所以num和a具有相同的地址空间
    cout<<"a 的地址:"<<&a<<endl;
    cout<<"num 的地址:"<<&num<<endl;

}

void test08()
{
    int arr[5]={10,20,30,40,50};
    int (&my)[5]=arr;
    int i=0;
    for(i=0;i<5;i++)
    {
        //cout<<my[i]<<endl;
        cout<<my[i]<<" ";
    }
    cout<<endl;
}

void my_01(int *a,int *b)
{
    int tmp=*a;
    *a=*b;
    *b=tmp;
}
void my_02(int &a,int &b)
{
    int tmp=a;
    a=b;
    b=tmp;
}
void test09()
{
    int data1=10,data2=20;
    cout<<"data1="<<data1<<", data2="<<data2<<endl;
    my_01(&data1,&data2);
    cout<<"data1="<<data1<<", data2="<<data2<<endl;
    my_02(data1,data2);
    cout<<"data1="<<data1<<", data2="<<data2<<endl;
}

int& my_00(void)
{
    static int num=100;
    return num;
}
void test10()
{
    int &p=my_00();
    cout<<"p="<<p<<endl;
}

int& my_00(void)
{
    static int num=100;
    cout<<"num="<<num<<endl;
    return num;
}
void test10()
{
    my_00()=1000;
    my_00();
}

#include<stdlib.h>
#include<string.h>
typedef struct
{
    int num;
    char name[32];
}STU;
void my_01(STU aaa)
{
    cout<<sizeof(aaa)<<endl;
    cout<<"学号:"<<aaa.num<<", 姓名:"<<aaa.name<<endl;
}
void my_02(const STU &aaa)
{
    cout<<sizeof(aaa)<<endl;
    cout<<"学号:"<<aaa.num<<", 姓名:"<<aaa.name<<endl;
}
void test11()
{
  STU lucy={100,"lala"};
  //定义一个函数,遍历lucy成员(读操作)
  my_01(lucy);
  my_02(lucy);
}
*/
#include<stdlib.h>
#include<string.h>
void my_str(char **my_str)
{
    *my_str=(char*)calloc(1,32);
    strcpy(*my_str,"hello world");
}
void test12()
{
  char *str=NULL;
  my_str(&str);
  cout<<"str="<<str<<endl;
}
int main(int argc, char *argv[])
{
    test12();
    return 0;
}
 

发布了12 篇原创文章 · 获赞 0 · 访问量 71

猜你喜欢

转载自blog.csdn.net/weixin_41604325/article/details/104910543