linux c 一站式学习 指针数组的初始化
2017-10-24 11:08
183 查看
1.const char * p[3]={"a","b","c"}能初始化成功,但const int *p[3]={1,2,3}却不能初始化?
因为:"a","b","c"这些字面值的类型本身就是const char*,而1,2,3这些字面值的类型是int,int是不能赋值给const int *的,除非你强转。
2.const char*p[3]={"a","b","c"};printf("%s",p[i])为什么打印出的是字符的值,p[i]中难道不是存的地址吗 ?
因为:p[i]的类型是const char*,你用“%s"输出时,是输出这个字符串的内容。如果你想输出p[i]中保存的地址,用这条语句:printf("%p",p[i])
重点是,你要理解什么是指针数组,什么是数组指针。
因为:"a","b","c"这些字面值的类型本身就是const char*,而1,2,3这些字面值的类型是int,int是不能赋值给const int *的,除非你强转。
2.const char*p[3]={"a","b","c"};printf("%s",p[i])为什么打印出的是字符的值,p[i]中难道不是存的地址吗 ?
因为:p[i]的类型是const char*,你用“%s"输出时,是输出这个字符串的内容。如果你想输出p[i]中保存的地址,用这条语句:printf("%p",p[i])
重点是,你要理解什么是指针数组,什么是数组指针。
相关文章推荐
- linux c 一站式学习 C语言中数组名和指针的区别
- linux c 一站式学习 函数接口 返回值是指针的情况
- C语言学习8:malloc返回的void*类型指针不可以做更改,free双重释放,二维数组的初始化和打印,a和a[0]和a[0][0]的区别,数组指针(*p)[3],指针数组*a[10],动态内存分配版约瑟夫环,动态分配版去空格和逗号处理,二级指针与二维数组互用
- C语言学习6 :指针的定义,指针类型要合法,指针要初始化,指针做函数参数,数组和指针的通用性,指针+1所代表的空间,void * 指针,交换函数中的指针,数组和字符型指针区别,字符型指针的应用,使用指针完成字符操作函数
- 二十六、数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数
- 黑马视频学习笔记-数组(一)-初始化
- LeetCode-4Sum(九月千题鬼之历练 1/1000, 指针数组的初始化和调用)
- 字符串--用数组初始化和用指针初始化方法
- 黑马程序员---学习笔记8:数组指针
- 【C语言学习】指针再学习(二)之数组的指针
- C++学习笔记2--函数重载 复杂的数据 内存对齐 指针数组 结构与指针 传值传址传引用 联合枚举类型别名
- C语言学习之数组指针和指针数组
- 黑马程序员-----C语言学习之数组与指针
- linux c 一站式学习 标识符
- 【C++】学习笔记十一——指针、数组和指针算术
- 学习C/C++语言:数组和指针,数组的转置
- C++基础教程 学习笔记(二) 数组、字符串和指针
- 全面学习PHP数组初始化原理
- 学习数组与指针
- 黑马程序员-IOS学习笔记 用指针逆序一个数组