C和指针第三章 笔记

来源:互联网 发布:微信for windows 编辑:程序博客网 时间:2024/05/20 02:55
3.1
字符串常量可以赋值给一个指向子都的指针,但是不可以将字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针(通常指第一个字符的地址)而不是这些字符本身
char *message =" hello world!";
或者
char *message;
message ="hello world!"
     
3.2初始化
 1,int j=15;
  2.声明简单数组 
int value[30];
  3.声明指针
    int *a;
   可以解释为*产生的结果是int;
int* a,b,c中只有a是被声明为int *类型的指针

3.3 typedef
为各种数据类型定义新名字
 3.4 常量
   声明:const int a=int const a;;之后无法改变a
  初始化:int const a =1;INT
 在函数中声明为const的形参在调用时会得到实参的值
int const * const cpci;指向整形常量的常量指针,指针与它所指向的值无法修改;
3.6链接属性
external 的属性的标识符无论声明次数位于几个源文件都表示一个实体
internal                            同一个源文件内所有声明指向同一个实体,不同源文件的则分属不同实体
none                               每个声明当作不同实体
extern用于为标识符指定external属性,可以访问在其他任何位置定义的这个实体(静态存储)
static int c;则c的属性变为internal, c为源文件私有。在其他源文件中的c则是另外一个变量。(用于函数定义合作代码块一位的变量声明时,且标识符的存储类型与作用域不受影响)
用于代码块内部的变量声明,static用于修改变量的存储类型,从自动变量修改为静态变量即存在堆栈里改到存放在静态内存里链接属性与作用域不受影响
static只对缺省链接数学为external的声明才有改变链接属性的效果