C语言指针
2014-03-14 09:06
197 查看
1.给指针赋值
原则不能对 未初始化的指针 赋值 会造成无法预知的危害,擅自修改内存地址中的内容
字符串指针赋值
const char *m3 = "\n Enough about me - what's your name? ";
因为 " " 双引号表示指向字符内容的指针,说明编译的时候已经给双引号中的内容分配了地址,并且地址中已经把字符串存进去了,所以 const char *m3 表示 指向字符串首地址的字符是一个常量,所以不会造成危害
普通指针赋值 有危害
int *p1 = 10
2.c 语言中的变长数组:指的是数组的大小可以运行时指定,但是大小的值是确定的
3.c 语言中定义字符串
字符串和字符数组的区别:字符串是 \0 结束的字符数组,定义字符串常量时,必须是双引号,因为这样编译器才知道是字符串,自动加上\0 结束符
字符串常量属于静态存储类,字符串常量只存储一份,整个引号中的内容作为指向该字符串存储位置的指针
原则不能对 未初始化的指针 赋值 会造成无法预知的危害,擅自修改内存地址中的内容
字符串指针赋值
const char *m3 = "\n Enough about me - what's your name? ";
因为 " " 双引号表示指向字符内容的指针,说明编译的时候已经给双引号中的内容分配了地址,并且地址中已经把字符串存进去了,所以 const char *m3 表示 指向字符串首地址的字符是一个常量,所以不会造成危害
普通指针赋值 有危害
int *p1 = 10
2.c 语言中的变长数组:指的是数组的大小可以运行时指定,但是大小的值是确定的
3.c 语言中定义字符串
字符串和字符数组的区别:字符串是 \0 结束的字符数组,定义字符串常量时,必须是双引号,因为这样编译器才知道是字符串,自动加上\0 结束符
字符串常量属于静态存储类,字符串常量只存储一份,整个引号中的内容作为指向该字符串存储位置的指针
相关文章推荐
- C++当中的virtual继承
- C++笔记:Const
- C++ Copy Constructor (拷贝构造函数,复制构造函数)
- (C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/strchr/strpbrk/strstr等相关函数
- C++实现查找数组中的值
- 重学c语言系列二---(变量)
- 百鸡问题C++程序编写实验
- C++ 智能指针 shared_ptr
- C#动态调用C++编写的DLL函数
- C/C++中的日期和时间
- 文件复制 c语言实现
- c++第二周作业
- 文件读入操作 信息系统 c语言版
- C/C++打印当前代码所在文件、所在行和函数
- 写入文件操作 之 信息管理系统 c语言版
- c语言接口设计与实现读书笔记与习题 解答 (二)
- C++逻辑操作符 与 &&
- 基本类型
- 读书笔记_Effective_C++_条款三十七:绝不重新定义继承而来的缺省参数值
- C++ dynamic_cast 出错