学习笔记6——字符,字符串,malloc()函数,单引号,双引号

本文深入探讨了C++中字符串与字符的使用区别,包括大小、显示方式、内存分配与释放,以及如何高效地读取与显示字符串。重点介绍了字符串与字符在内存中的表示方式,malloc函数的正确使用方法,以及如何避免内存泄漏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、        双引号里面的是字符串 ,        而单引号里面的代表字符  
        你可以这样理解 只要是在双引号里面的不代表任何表达式的意义 假如 int a=10  cout<<"a";这是用 双引号 它在屏幕上就是 a 
        而   int a=10  cout<<a; 这个a就代表表达式a=10在屏幕上是10 而int a=10  cout<<‘a’;将会是65 因为用单引号里面的代表字符而字符要用ASCII码表示


二、大小不同。

用单引号引起的一个字符大小就是一个字节。

而用双引号引起的字符串大小是字符的总大小+1,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0的字符'\0'。

三、malloc函数
传递给malloc的参数,是字节数,即分配多少字节。如果分配失败,malloc将返回NULL。
例子:
<span style="font-family:Times New Roman;font-size:18px;"><strong>char *ptr;
ptr = malloc( 100 * sizeof(char));</strong></span>
现在,ptr指向的是一个预留的100字节的内存块。

用完之后,要用——free(ptr);    来释放malloc()分配的内存空间。

四、显示字符串和字符
显示工作,通常用    puts()   和   printf()  来完成。
puts() 只接收一个参数,就是——要显示的字符串的首地址的指针。


printf()函数,用于字符串输出
char *str = "A message to display";
printf("%s",str);
五 、 从键盘读取字符串
    gets()从键盘读取一个字符串,不断的从键盘读取字符,直到遇到换行符(按下回车提供换行符)为止。然后gets()丢弃换行符,添加一个空字符,构成字符串。
    char input[20];
    gets(input);
    printf("%s",input);
    
    gets(str);    应该是把接收到的字符串存入数组str,然后返回的也是str。

    -------------------------------------------
    scanf()读取字符串
	
    char s1[100];    
    scanf("%s",s1);    ——scanf里面用到的都是地址,这里 s1 就是地址。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值