1. 程式人生 > >C primer Plus_part7

C primer Plus_part7

rime short prim tdi ray ++ 保護 char prime

第十章 數組和指針

1.const :保護變量不受改變,特別是在作為入參傳入函數

對於變量:const 不能修改值

對於指針: const 可以修改值,但是不能修改指向對象

#include<stdio.h>

int main()
{
  int arrays [10] = {0};
  const int *p  = arrays;
  int i =0 ;
  *(p+3) = 4;//error 不能通過編譯 const 並不智能

  for(;i < 10;i ++)
  {
    printf(" %d \n
",arrays[i]); } }

#include<stdio.h>

int main()
{
  int arrays [10] = {0};
  const int *p  = arrays;
  int i =0 ;
 // *(p+3) = 4;//error 不能通過編譯 const 並不智能
  *(arrays+3) = 4;
  for(;i < 10;i ++)
  {
    printf(" %d \n",*(p+i));

  }
}

 

關於結構體的大小計算

#include<stdio.h>

typedef struct
A_s { int a[10]; }A; typedef struct data_s { int a ; double dou; char b[4]; //char ch; A d; // int e; char c; }data; int main() { data data_1={0}; printf("%d %d\n",sizeof(data) ,sizeof(data_1.d)); } ~

多次嘗試後對於補位理解補齊一個最大的基本類型大小最大補為8。

#include<stdio.h>

typedef struct A_s
{
   int a[10];


}A;

 typedef struct data_s
{
      short a ;
       // double dou;
        //char b[4];
        //char ch;
       // A  d;
       // int e;
        char c;
}data;

int main()
{
   data data_1={0};
       printf("%d  %d\n",sizeof(data) ,sizeof(A));
}

像這個補齊為4.

C primer Plus_part7