社区
C语言
帖子详情
在tc中这样可以么?
simclock
2003-08-20 09:13:19
定义一个字符串
char *str="";
...全文
216
18
打赏
收藏
在tc中这样可以么?
定义一个字符串 char *str="";
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jrhjrh
2003-08-22
打赏
举报
回复
编译时不出错
simclock
2003-08-22
打赏
举报
回复
to qhgary(Shining)
我那个BiTree 是指向BiNode的指针类型,然后我传过来的bst是bst的指针,所以我觉得应该是*bst阿
cxjddd
2003-08-22
打赏
举报
回复
其实char* str="string";是定义一个指针而不是定义一个字符串!
按照语法的来说,这个是定义了str。"string"只是早就在数据段里了,不是在这里定义的。只不过,str指向了"string"而已。
playboyxp
2003-08-22
打赏
举报
回复
可以这样写,编译可以通过
不过这样写好象没有意义
021850524
2003-08-21
打赏
举报
回复
to bm1408(嗔):
char *str;也是定义,也分配了内存呀.
只不过它的值可能是个随机的.
char *str="";是定义,它的值应该是指向静态存储区的.
不过最好应该在char *str;
前加上const,这样通用性好,否则有的编译器会报错.
simclock
2003-08-21
打赏
举报
回复
up
qhgary
2003-08-21
打赏
举报
回复
好的习惯就是
char* p = null;
用的时候再p = "...";
或者指向其他。
如果你碰到了Null pointer assignment,那只能说明你使用不小心,指针要分配了空间,才能用,出现这个错误是不应该的。不是char* p = null;的错。
你的下一个问题:
是不是应该这样
if (!(bst=(BiTree)malloc(sizeof(BiNode)))) return 0;
~~~等号右边是一个指针类型,所以左边应该也是一个指针类型,*bst表示这个指针的内容了
simclock
2003-08-21
打赏
举报
回复
up
simclock
2003-08-21
打赏
举报
回复
谁来回答一下儿我8楼的问题?谢谢
hillyee
2003-08-21
打赏
举报
回复
从语法上来说,这样写是没有错误的。
不过在实际编译的时候就要视编译器而定了,在tc中好象没有错误。
simclock
2003-08-21
打赏
举报
回复
up
simclock
2003-08-20
打赏
举报
回复
应该怎样写?请指点一下。我觉得我用指针的时候老是有不好的习惯。
比如定义一个指针int *a;我该不该给他赋值?如果直接用编译会有warning说没赋初值就直接用了。要是赋的话应该赋什么呢?赋NULL的话程序运行完会出Null pointer assignment。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
还有比如这个:
typedef struct BiNode {
char *keyword;
struct BiNode *lchild,*rchild;
}BiNode,*BiTree;
int CreatBST(BiTree *bst)
里有if (!((*bst)=(BiTree)malloc(sizeof(BiNode)))) return 0;
编译出warning说possibly incorrectly assignment in function CreatBST
bgu
2003-08-20
打赏
举报
回复
这样写程序是很不好一个现象!
GhostAdz
2003-08-20
打赏
举报
回复
这个是空串
地址肯定是分配的,通常应该放串的首地址
在这里只有\0,,只能放\0了
idontlikenickname
2003-08-20
打赏
举报
回复
语句char *str = "";属于定义字符串常量,虽然str没有有意义的内容但是编译器还是给str分配了1个字节的空间存放终止字符'\0'.
语句char *str;是定义一个字符指针,该指针变量的内容不定,但是str作为一个指针变量编译器是分配了内存给它的,要不怎么存储地址?
类似extern char *str;这样的语句才叫声明~~
bm1408
2003-08-20
打赏
举报
回复
这个问题我也很迷惑不解!
char *str;
这样属于声明!
char *str="";
这样属于定义!
按照道理,声明应该不分配内存,定义才分配内存!
simclock
2003-08-20
打赏
举报
回复
有人说这样没分配内存?
是不是说如果字符串特别长有可能会发生冲突?
oopig
2003-08-20
打赏
举报
回复
可以
tc
开发c语言的,
TC
简单开发
概要在第一章
中
,我们已经看到程序
中
使用的变量都应预先加以定义,即先定义,后使用。对变量的定义可以包括三个方面:数据类型存储类型作用域在本章
中
,我们只介绍数据类型的说明。其它说明在以后各章
中
陆续介绍。所谓数据类型是按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分的。在
TC
语言
中
,数据类型可分为:基本数据类型,构造数据类型.1.基本数据类型:基本数据类型最主要的特点是,其值不可以再...
计算机语言
中
tc
是什么,新人必须了解的几个
TC
常用语和脚本基础知识!
基础知识
TC
常用语一,函数在百度百科
中
是这样解释函数的:函数(function)表示每个输入值对应唯一输出值的一种对应关系。在计算机定义
中
函数过程
中
的这些语句用于完成某些有意义的工作——通常是处理文本,控制输入或计算数值。通过在程序代码
中
引入函数名称和所需的参数,可在该程序
中
执行(或称调用)该函数。类似过程,不过函数一般都有一个返回值。它们都可在自己结构里面调用自己,称为递归。大多数编程语言构建函...
H3C接入交换机收到大量上行口(连接汇聚交换机)
TC
报文该怎么处理?(排查思路及解决办法)
在部署STP时,建议配置
TC
保护功能,所有连接终端的接口配置成边缘端口,这样可以避免某些端口的状态变化引起整个STP网络震荡而重新收敛。
AURIX
TC
275/
TC
234开发----(1) 开发准备工作
TC
234/
TC
275 是英飞凌推出的较新一代AURIX 系列的单核/三核处理器,适合应用于车载控制器的开发,目前在很多车型上有在使用,下面对两种芯片做个简单的分析对比: 1)
TC
275 该芯片有三个运算核、两个校验核,类似于将三个高性能单片机集成在一起,功能非常强大; 该芯片推出较早、各种开发例子、资料文档、开发工具相对较为齐全;其他型号均是在
TC
275之后推出,如性价比更高的
TC
234、...
linux下使用
tc
对流量进行控制
背景: 在工作
中
会遇到需要对服务所在机器进行流量控制,随机丢包,制造client端与server端连接失败的场景
tc
介绍:
TC
--Traffic Control
TC
是 linux
中
的流量控制模块,利用队列规定建立起数据包队列,并定义了队列
中
数据包的发送方式,从而实现对流量的控制。关键字:队列系统,包接收和传输。 Traffic control is the name give...
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章