ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

结构体的而指针属性不能直接做左值

2022-04-20 16:33:23  阅读:134  来源: 互联网

标签:ListNode val int 左值 pnew next coutval 指针 属性


#include<bits/stdc++.h>
using namespace std;
struct ListNode {
    int val;
    ListNode *next =NULL;
    ListNode() : val(0), next(nullptr) {}
    ListNode(int x) : val(x), next(nullptr) {}
    ListNode(int x, ListNode *next) : val(x), next(next) {}
};


int main() {
    int a[] = {1,2,3};
    ListNode* l = new ListNode(a[0]);
    cout<<"l->val:"<<l->val<<endl;
    ListNode  *pnew;

    for (int i = 1; i <3; i++) {
        pnew = new ListNode(a[i], NULL);
        l->next = pnew;//
        l = pnew; //将tmp指
        cout<<"l->val:"<<l->val<<endl;
    }

}
#include<bits/stdc++.h>
using namespace std;
struct ListNode {
    int val;
    ListNode *next =NULL;
    ListNode() : val(0), next(nullptr) {}
    ListNode(int x) : val(x), next(nullptr) {}
    ListNode(int x, ListNode *next) : val(x), next(next) {}
};


int main() {
    int a[] = {1,2,3};
    ListNode* l = new ListNode(a[0],NULL);
    ListNode  *ptemp = l,*pnew;
    cout<<"l->val:"<<ptemp->val<<endl;


    for (int i = 1; i <3; i++) {
        pnew= new ListNode(a[i], NULL);
        ptemp->next = pnew;//pnew是必须的l->next不能直接做左值,可能是因为l->next不存在未分配空间
        ptemp =ptemp->next; //将tmp指
        cout<<"l->val:"<<ptemp->val<<endl;
    }
    /* 这种写法随着新元素插入,l不断指向下一个,即只能遍历这一便,
     * 结束后链表就丢失了,此时l指向最后一个元素的下一个元素即null
     * for (int i = 1; i <3; i++) {
        l->next = new ListNode(a[i], NULL);
         l =l->next;
        cout<<"l->val:"<<l->val<<endl;
    }*/
    ListNode  *pn;
    pn = l;
    for (int i = 0; i <3; i++) {
        cout<<"pn->val:"<<pn->val<<endl;
        pn= pn->next;
    }

}

 

标签:ListNode,val,int,左值,pnew,next,coutval,指针,属性
来源: https://www.cnblogs.com/q1231/p/16170391.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有