数据结构:P3-数据结构



指针对象和指针
先看两个题目:
(第1题会让你基本上对串跟差别有所了解;第2题会让你了解C些存储机制)
第1个:

(1)char c="12345\0\0"; //(2) c={1,2,3,4,5};
(1)char *p=c;//(2) *p=c;
c=p=__
&c&p?1:0=__
c[0]=*c=__
&c[0]=&(*c)=__
c+2=&C[2]=__
(c)=__
(p)=__
把(1)换成(2)时输出结果又是怎样?
第2个:
例1)void
{char s="12345"; //char *s="12345";
*s='a';
cout < <s < <endl;
}
会报错吗?
例2)const char str1="aaa";
char str2="aaa";
const char *str3="aaa";
char *str4="aaa";
(str1str2) cout < <"12 OK" < <endl;
(....换成其它).................
请问str1,str2,str3,str4哪两个会相等

:
:声明化形式有 3种:给定个数逐个赋值;给定个数部分赋值;不给个数全部赋值
例: a[8]={1,2,3,0,0,0,0,0}; a[8]={1,2,3,,}; a={1,2,3,,,,,};
2维:声明化形式跟维类似:
b[2][3]={ {1,2,3},
{4,5,6}};
[ 或 b[2][3]={1,2,3,4,5,6};]
或:将 b[2][3]换为 b[3]
或: [3][3]={{1,2,3};
{4,5,6}};
对象:只声明不类定义中必须有个显式无参构造
2:
区别串只能在声明语句中进行而且指针形式和形式化机制在存储方式上是完全区别
# <iostream.H>
void
{char str="abcdefg"; //char *str="abcdefg";
str[5]='5';
cout<<str<<endl;
}
以上测试如果是str编译运行都正常如果换做*str运行会发生异常
Tags:  数据结构教程 数据结构与算法 数据结构课程设计 数据结构

延伸阅读

最新评论

发表评论