Cトラップと欠陥の研究(第3章)

1. char a[10] = { };   *(a+i) 与 a[i]等同。

    +ので、私と私+同じの意味を、[i]は、私[A]は、同じ意味を持っているので。

メインINT()
{
charデータ[3] = {1,4,8}。printf( "%D%D \ n"は、2 [データ]、DATA [2])。0を返します。




} //出力:88 

2. int型* AP、APシェーピングを指すポインタです、

    INT AP [10]; APは、プラスチック要素10のアレイを有します

    INT * AP [31]; * APは、APが、そのような配列へのポインタであるように成形アレイは、31個の要素を有しています。

3.非配列ポインタ

    メモリ領域の文字列定数のアドレス代表は、すべての文字列の文字とヌル文字(「\ 0」)が含まれ

    終了文字「\ 0」を除くstrlen関数の戻りパラメータ、%sの印字文字列がハングする、アプリケーションスペースはstrlen strcy後の文字列の場合。

4.ヌル・ポインタは空の文字列ではありません

            これは、ポインタ割り当て、NULLと同じ効果定数0として使用することができます。この場合(NULLポインタ)、ポインタ自体の動作のみ、

     メモリに保存されているポインタポイントの内容を使用しようとしません。

      正しく(P ==(のchar *)0)であれば、

      IF(のstrcmp(P、(CHAR *)0))の誤差、のstrcmpを実現ポインタの内容を表示することができます。

      同様に、CHAR * P =(CHAR *)0;のprintf( "%s" は、P)、間違いました。

存在しない5.アレイ実際のアドレスは、アレイの「オーバーフローコミュニティ」要素は、共有メモリの後に配置され、アドレスが割り当てと比較するために使用することができます。

     INT [N] = {};

     [N]は存在しないが、&[N]は存在しています。







发布了9 篇原创文章 · 获赞 6 · 访问量 1万+

おすすめ

転載: blog.csdn.net/sssuperqiqi/article/details/79567274