指针。。。。


#include<iostream>
#include<string>
using namespace std;


//主函数
int main() 
{
    string  tst;
    
    int size_a=sizeof(string);
    int a[9] = {1,2,3,4,5,6,7,8,9};
    int *p ; //p就是地址
    p = a; //p就是地址
    int  b = 10;
    int *q = &b;
    
    cout<<"sizeof(string)=" << size_a << endl;
    printf("*p=%d\n",*(p+2));
    printf("a[2]=%d\n", a[2]);
    printf("&a=%d\n", &a[0]);
    printf("&a=%d\n", &a);
    printf("&p=%d\n", &p);
    printf("p=%d\n", p);//p==&p  都是地址
    printf("&p[0]=%d\n", &p[0]);
    printf("a[0]=%d\n", a[0]);
    printf("q=%d\n", q);
    printf("*q=%d\n", *q);
    printf("&q=%d\n", &q);
    printf("&b=%d\n", &b);

    
    system("pause");
    return 0;
}

输出:

sizeof(string)=28
*p=3
a[2]=3
&a=9698948
&a=9698948
&p=9698936
p=9698948
&p[0]=9698948
a[0]=1
q=9698924
*q=10
&q=9698912
&b=9698924
请按任意键继续. . .

转载于:https://www.cnblogs.com/zhaochunhua12345/p/11443803.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
05-30
指针是C语言中非常重要的概念,它是一种变量类型,用来存储内存地址。通过指针,我们可以直接访问和修改内存中的数据,因此在C语言中使用指针可以实现很多高级的操作。 下面是一些关于指针的基本知识点: 1.指针的定义和初始化: 指针的定义需要指定指针类型和指针名称,例如: ``` int *p; // 定义一个指向整数类型的指针p ``` 指针的初始化可以使用取地址运算符`&`取得变量的地址,或者直接赋值为NULL表示空指针,例如: ``` int a = 10; int *p = &a; // 将指针p初始化为变量a的地址 int *q = NULL; // 将指针q初始化为空指针 ``` 2.指针的解引用: 指针的解引用可以使用`*`运算符,表示取出指针所指向的内存地址处的值。例如: ``` int a = 10; int *p = &a; printf("%d\n", *p); // 输出变量a的值10 ``` 3.指针的运算: 指针可以进行加法和减法运算,例如: ``` int a[10]; int *p = a; p++; // 指针p指向a[1] p--; // 指针p指向a[0] ``` 指针的加法和减法运算不是简单的数值相加减,而是根据指针类型计算出偏移量并加上指针当前指向的地址。 4.指向指针指针: 指向指针指针也是C语言中常见的概念,例如: ``` int a = 10; int *p = &a; int **q = &p; // 定义一个指向指针p的指针q ``` 指向指针指针可以用来实现多级指针的操作,例如链表的遍历等。 希望以上内容能够帮助你更好地理解指针的概念。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值