社区
C++ Builder
帖子详情
char *a与char a[MAX]有何具体区别?
sunxking
2002-02-26 12:37:19
在BC5中有如下语句:
如:
char *a;
char b[100];
a=""; //正确
// b=""; 错误!
a=NULL; //正确
// b=NULL; 错误!
第一个错误是为何呢?
...全文
303
9
打赏
收藏
char *a与char a[MAX]有何具体区别?
在BC5中有如下语句: 如: char *a; char b[100]; a=""; //正确 // b=""; 错误! a=NULL; //正确 // b=NULL; 错误! 第一个错误是为何呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
windindance
2002-02-26
打赏
举报
回复
应该用strcpy(b,"");
kingcaiyao
2002-02-26
打赏
举报
回复
第一个当然有错误,当赋值一字符串给一字符数组时,字符数组中的每个元素必须有确定的ASCII码值,而""没有确定的ASCII码值,即是说一个字符为空,它应是chr(0)。
zheng_can
2002-02-26
打赏
举报
回复
b是常量 const
不能赋值
wyb_45
2002-02-26
打赏
举报
回复
但使用未分配内存空间的指针时,系统当然会报错了。
wyb_45
2002-02-26
打赏
举报
回复
当然,这是C语言的范围。
char *a;//是定义一个指针。但还没分配内存空间。
a=new char(50);//分配内存空间
char b[100];//定义一个char数组大小100。当然已经分配内存空间
HEROIN
2002-02-26
打赏
举报
回复
char *a的内存序程序分配
char b[MAX]由系统分配
Behard
2002-02-26
打赏
举报
回复
char *a:是一个指针,可以用 strcpy()
char b[MAX]:是一个数组,b代表的是数组的手地址,是一个 const 值,不能赋值,可以用用 strcpy 操作或者 b[i]=(int)
maxying
2002-02-26
打赏
举报
回复
b是数组屋不能那样负值,而a至一个指针,他只是一个志向内存某个位置的值,你给它负值是允许的,那相当于你改变了它的指向
kimryo
2002-02-26
打赏
举报
回复
b是一个const指针啊,不能b=""; .
const
char
*str,
char
const *str,
char
*const str的
区别
,及const详解
c和c++中有三种定义: 1.const
char
*str, 2.
char
*const str, 3.
char
const *str. 现总结三者之间的
区别
: 一
char
*const str 这是定义了一个指向字符的指针常量,即str的指向不能被修改,但是可以修改指针所指向的内容。 我们可以通过代码来验证修改str指向的内容: #include<iostream> using namespace std; int main() {
char
arr[] = "abcd
关于const
char
*和
char
*、const
char
** 和
char
** 赋值问题
根据ANSI C标准的赋值约束条件: 1. 两个操作数都是指向有限定符或无限定符的相容类型的指针。 2. 左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。 一、const
char
*和
char
* const
char
*的类型是:“指向一个具有const限定符的
char
类型的指针”。(不能修改其值)
char
*的类型是:“指向一个
char
类型的指
C语言复制
char
*
c语言真的是个巨坑,没怎么用过,今天做实验需要用它,结果一个简单的
char
*字符串复制耽误了我一下午时间!解决方法一定要记录下来。 int main() {
char
* a = "hello world";
char
b[100];// 或者自己定义一个
MAX
_Length memset(b, a, strlen(a)); memcpy(b, a, strlen(a)); //后面可以直接对b进行strcat或者任何字符串操作了,完全复制a成功 } ...
C/C++
char
* arr与
char
arr[]的
区别
(反汇编解析)
用了几天时间复习了下C语言。对于C语言的字符串操作有些不习惯,于是作为练习,写下了下面这样错误的程序: #include <stdio.h> #define
MAX
_STR_SIZE 100 void copy_string(
char
* from,
char
* to) { while (*to++ = *from++); } void swap_strs(
char
* str1,
char
* str2) {
char
tmp[
MAX
_STR_SIZE]; copy_string(str1, tmp
关于
char
*以及二维字符数组的定义,初始化及引用
#include<conio.h> #include<stdio.h> #include<string.h> #include<stdlib.h>
char
*fun(
char
(*a)[81], int num,
char
*
max
) { int i=0;
max
=a[0]; for(i=0;i<num;i++) {if(strlen(
max
)<strlen(a[i]))
max
=a[i];} return
max
; } voi.
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章