社区
C++ 语言
帖子详情
int* 和char* 有没有区别
爆豆
2016-01-24 02:00:55
如题,在面试的时候遇到这个高层次的问题了,我当时直接说了个没啥本质区别,各位大神帮分析分析啊,谢谢了!
...全文
2585
14
打赏
收藏
int* 和char* 有没有区别
如题,在面试的时候遇到这个高层次的问题了,我当时直接说了个没啥本质区别,各位大神帮分析分析啊,谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lin5161678
2017-05-19
打赏
举报
回复
引用
指针存的是地址 但使用
这种
基本不关心地址
纠正
引用
指针存的是地址 但使用
指针
基本不关心地址
lin5161678
2017-05-19
打赏
举报
回复
区别很多 说没区别是对指针了解太肤浅 说都是地址是片面 指针存的是地址 但使用这种基本不关心地址 用指针更多的是用到指针的 一元*操作 一元&操作 指针算术 (包括 自增自减 指针+int 指针-int等) 指针赋值 而对于这些操作 char* 和 int*的表现是完全不同的 你使用的
99%
是这些不同的东西 然后你说什么本质? 毫无意义
baidu_38223781
2017-05-18
打赏
举报
回复
1
char跟int指向同样地址,但解释不一样,char取1个字节即8位数据,递增更递减移动也是按8位,而int要根据实际硬件解释,一般32位电脑按4个字节即32位数据来读取解释,递增减移动也按32位进行,如果是单片机一般按2个字节既16位数据来读取解释,移动也按16位进行
赵4老师
2016-01-25
打赏
举报
回复
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息…… 推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。
imGala
2016-01-25
打赏
举报
回复
int* p 和char* q的值都是1个地址。 二者指向的类型不同。 p+1和q+1的效果不同,p的值是原值加4(若sizeof(int)是4时),而q的值是原值加1。
家人是最好的礼物
2016-01-25
打赏
举报
回复
没区别,都是指向一个地址; 有区别,不同类型指向的空间大小不同。
ri_aje
2016-01-25
打赏
举报
回复
类型不一样。
清泉流
2016-01-25
打赏
举报
回复
两个都是指针变量,字节都是一样的。但是int*表示的是指向int类型数据,在使用时操作是int型数据,指向的内存是int型的内存大小,一般为4,;char*表示指向的是char类型的数据,使用时操作的是一个char字符,指向的内存的字节是1.
Anooyman
2016-01-24
打赏
举报
回复
本质上都是存储东西,地址也都是4位。 但是指向的类型不一样,一个是整型,一个是字符型,所以运算不一样。 其他应该差不多吧
paschen
版主
2016-01-24
打赏
举报
回复
看你怎么定义本质了 他们都是指针,都可以使用指针的运算符,都有相同的大小 但是他们指向的类型不同 另外char*指针可以这样初始化:char*p = "xxx"; 但int*不是
yshuise
2016-01-24
打赏
举报
回复
int指针指向int内存块 char指针指向char内存块
苏叔叔
2016-01-24
打赏
举报
回复
肯定有区别,类型不一样。 关于指针
http://blog.csdn.net/zhangxiangdavaid/article/details/37885275
zwfgdlc
2016-01-24
打赏
举报
回复
从内存角度上来说没区别,都是指向一块内存区域
sdghchj
2016-01-24
打赏
举报
回复
指针是有类型的,当然有区别。
C/C++程序设计员应聘常见面试试题深入剖析
C/C++程序设计员应聘常见面试试题深入剖析,不看会后悔!!!!!!!!!
AES 加密算法源代码20091025 (C++版)
AES类的三个公共函数 //设置AES类的模式为加密还是解密,并说明密钥长度和明文长度(解密时为密文) //key 密钥数据 //keySize 密钥长度 //inSize 明文长度(解密时为密文) //isdecrypt 是否为解密(解密时为TRUE) //成功返回1 失败返回-1 失败是由于参数设置不正确引起
int
setMode(unsigned
char
* key,
int
keySize,
int
inSize, bool isdecrypt); //加密数据 //input 明文数据,长度为setMode时inSize指定 //ouput 加密后的数据,长度为setMode时inSize指定 void cipher (const unsigned
char
* input, unsigned
char
* output); //解密数据 //input 密文数据,长度为setMode时inSize指定 //output 明文数据,长度为setMode时inSize指定 void invCipher(const unsigned
char
* input, unsigned
char
* output); //例子 #include "aes.h" #include void main() {
char
* str = "0123456789abcdef"; //被加密的数据16字节
char
* pwd = "1111111111111111"; //密码16字节
char
out[17]; //输出缓存 out[16]='\0'; AES aes; /*加密时*/ aes.setMode(pwd, 16, 16, FALSE); aes.cipher(str, out); pr
int
f(out); //输出加密数据 pr
int
f("\n"); /*解密时*/ aes.setMode(pwd, 16, 16, TRUE); aes.invCipher(out, out); pr
int
f(out); } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/scofield_zhang/archive/2008/07/21/2687037.aspx
C++ 指针:
int
* 和
char
*
C++ 指针:
int
* 和
char
*
int
* 指针 #include<iostream> #include<string> using namespace std;
int
main(){
int
a = 300;
int
* p = &a; // 定义的是
int
* 指针类型的变量p cout << *p << endl; /...
int
型,
char
型,void型指针的
区别
深信服的面试官问了这个问题,也不说清楚是哪方面的
区别
,哎,可能凉凉,下面说一下这个东西。 首先,
int
*和
char
*是可以++操作的,void*不可以 void*没有类型,也就不存在sizeof()。
int
*和
char
*可以进行++操作,
int
*的操作是向后移动4个字节的位置,
char
是一个字节。 void*,cout<<*void<<endl是不正确的,输出vo...
初学const
int
* 和 const
char
*
const
int
* const
char
*
C++ 语言
65,170
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章