C++之数组与指针

例如:
char *p="abcde";的时候,字符串是不可以修改的!
而char p[]="abcde";的时候,字符串是可以修改的!

char *p="abcde";
这种方式是定义了一个字符型指针,指向常量字符串"abcde"
char p[]="abcde";
这种方式是定义了一个字符数组,其长度自动设置其等于"abcde",
所以第一种指向了常量区,无法修改;第二种定义了普通的数组变量,放在栈中,可以修改

问题二:表达式必须是可修改的左值

student = DelLast(student); 
首先,student 是个数组,c 中没有操作整个数组的运算,想修改整个数组需遍历,

其次对于数组的长度一旦初始化完成是无法改变的,想改变需要重新创建一个新数组,然后复制元素过去看代码的意图应该是个链表,student 应该定义为 node *student,用于保存表头,再写个初始化和添加链表元素的函数,可看下链表的实现

数组指针和指针数组的区别 - jack_Meng - 博客园

 https://www.cnblogs.com/mq0036/p/3382732.html

发布了54 篇原创文章 · 获赞 44 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/txpp520/article/details/103227885