/*
程序名:指针
程序功能:指针的定义与相关操作,引用的定义与相关操作,结构体的定义和使用
程序目的:通过本程序理解并掌握指针引用与结构体*/
#include<iostream>
using namespace std;
int main()
{
    //指针数组的定义与使用
    char * data[3] = { "aaa","bbb","ccc" };//定义一个字符型二位指针数组(二位数组定义时可省略第一维的维数),并初始化元素
    cout << "&data[0][0]:" << &data[0][0] << " data[0]:" << data[0] << endl;//运用&运算符取data[0][0]的地址,用下标运算符取data[0]的地址
    cout << "&data[1][0]:" << &data[1][0] << " data[1]:" << data[1] << endl;//运用&运算符取data[1][0]的地址,用下标运算符取data[1]的地址
    cout << "&data[2][0]:" << &data[2][0] << " data[2]:" << data[2] << endl;// 运用&运算符取data[2][0]的地址,用下标运算符取data[2]的地址
    //数组指针的定义与使用
    int arr[4] = { 1,2,3,4 }; //定义一个数组并初始化全部元素
    int(*a_p)[4] = &arr; // 定义了一个行指针,并指向一个行数为4的arr数组首地址
    cout << "&arr:" << &arr << " arr:" << arr << endl;// 运用&运算符取arr首地址的存放地址,取arr的首地址
    cout << "a_p:" << a_p << " *a_p[0]:" << *a_p[0] << endl;// 取a_p的首地址,用指针运算符取指针指向的a_p数组第0列的地址

    //指针常量与常量指针
    int p = 0;
    const int pi = 3.14;  // 定义一个常量pi为3.14
    int * const cp = &p;  //定义一个指针常量cp并初始化(指向变量p)
    //cp=&p;//错误,指针cp的值不能改变
    const int *ct = &pi;  //定义一个常量指针ct并初始化(指向变量pi)
    //*ct=10;//错误,指针ct所指对象的值不能改变
    const int *const pcc = &pi; //定义一个常量指针pcc并初始化(指向变量pi)
    return 0;
}
Last modification:December 5th, 2018 at 07:17 pm
如果觉得我的文章对您有帮助,请随意赞赏:)