char (*p)[]和char *p[]的区别
理解的关键在于:
1. []的优先级高于*,(*p)[]理解为指向一个数组,*(p[])存放指针的数组
2. char (*p)[SIZE]:指向一维数组的指针,一维数组只能有SIZE个元素
char *p[SIZE]:指针数组,数组有SIZE个元素
代码测试:
- #include <stdio.h>
- #define TESTSIZE 20
- int main(void)
- {
- char szTest[][TESTSIZE] = {"hello", "world"};
- char (*p)[TESTSIZE];
- p = szTest;
- for(int i = 0; i < sizeof(szTEST)/TESTSIZE; i++)
- {
- printf("%s", p + i);
- }
- }
- #include <stdio.h>
- #define STRSIZE 20
- int main(void)
- {
- char *p[] = {"hello", "world!"}; //p[],数组
- for(int i = 0; i < 2; i++)
- printf("%s ", p[i]);
- return 0;
- }
char (*p)[]和char *p[]的区别的更多相关文章
- C/C++ char* arr与char arr[]的区别(反汇编解析)
写作日期:2016.08.31 修改日期:2016.09.01 .2016.09.02. 交流qq:992591601 用了几天时间复习了下C语言.对于C语言的字符串操作有些不习惯,于是作为练习,写下 ...
- 初始化char指针--赋值和strcpy() 本质区别【转】
原文地址:http://hi.baidu.com/todaygoodhj/item/0500b341bf2832e3bdf45180 使用常量字符串初始化char指针,或者使用strcpy复制,从语法 ...
- char *c和char c[]区别
char *c和char c[]区别 问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者 ...
- char,wchar_t,WCHAR,TCHAR,ACHAR的区别----LPCTSTR
转自http://blog.chinaunix.net/uid-7608308-id-2048125.html 简介:这是DWORD及LPCTSTR类型的了解的详细页面,介绍了和类,有关的知识,加入收 ...
- char[]数组与char *指针的区别
char[]数组与char *指针的区别 问题描述 虽然很久之前有看过关于char指针和char数组的区别,但是当时没有系统的整理,到现在频繁遇到,在string,char[], char *中迷失了 ...
- SQLServer 之 char、varchar、nvarchar的区别
一.定义 1.char char是定长的,也就是当你输入的字符小于你指定的数目时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符. 例如:char(8),最多可输入4个汉字或者8个 ...
- char 与 unsigned char的本质区别
在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同 ...
- MySQL中char、varchar和text的区别
三者空间占用方面: char:存储定长数据很方便,CHAR字段上的索引效率极高,可以有默认值,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间(自动用空格填 ...
- 【转】char *str 和 char str[]的区别
char str[] = "abcd";定义了一个局部字符数组,返回它的地址肯定是一个已经释放了的空间的地址. 此函数返回的是内部一个局部字符数组str的地址,且函数调用完毕后 此 ...
- char str[] 与 char *str的区别详细解析
char* get_str(void) { char str[] = {"abcd"}; return str; } char str[] = {"abcd"} ...
随机推荐
- zxing .net 多种条码格式的生成
下载地址:http://zxingnet.codeplex.com/ zxing.net是.net平台下编解条形码和二维码的工具,使用非常方便. 本文主要说明一下多种类型条码的生成. 适用的场景,标签 ...
- Go同步和异步执行多个任务封装
同步执行类RunnerAsync 支持返回超时检测,系统中断检测 错误常量定义 //超时错误 var ErrTimeout = errors.New("received timeout&qu ...
- mysql数据库-------基础
一 数据库是什么 把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件,即共享这台机器上的文件,共享则意味着竞争,会发生数据不安全,需要加锁处理,为了远程访问并处理这台共享机器上的文件, ...
- 安装adb之后出现 找不到设备的情况
adb 地址 https://pan.baidu.com/s/1sln2IZF 安装adb之后出现 找不到设备的情况 1.配置adb的环境变量 2.修改android_winusb.inf ...
- 利用python的timeit库计算程序运行的时长
from timeit from time import clock start = clock() # 此处填写需要运行的函数 end = clock() print(end - start)
- windows平台python 2.7环境编译安装zbarlight
类似于前一篇博文,http://www.cnblogs.com/zhongtang/p/7148082.html中描述的情况. 编译zbarlight同样出现问题,简要处理步骤如下: 1.到https ...
- CSS3中first-child、last-child、nth-child、nth-last-child
1.单独指定第一个子元素.最后一个子元素的样式 <style type="text/css"> li:first-child{ background:yellow; } ...
- Android应用程序使用两个LinearLayout编排5个Button控件
学习存档: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi ...
- CTF---隐写术入门第一题 SB!SB!SB!
SB!SB!SB!分值:20 来源: 西普学院 难度:中 参与人数:4913人 Get Flag:1541人 答题人数:1577人 解题通过率:98% LSB 解题链接: http://ctf5.sh ...
- bzoj:1457: 棋盘游戏
原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1457 看了网上dalao的题解,好像解释得并不是很清楚,就按照那种思路,自己YY了一个想法 ...