疑惑、问题、生疏及解决(持续更新)

简介: 疑惑、问题、生疏及解决(持续更新)

疑惑


一、视频41,第30.56处???(疑问点!!!)常量?


image.png


void func(char **ptr)
{
  (*ptr)++;
}
char str[20] = "hello world"
char *ptr =“hello world”;
func(&ptr);


str字符数组可以修改,str数组名首元素地址,是常量,不能修改

ptr 是常量,不能修改

*ptr 取指针所指的空间的值

&ptr 指针地址                                                                                          


1.关于为什么是func


问题


问题1:UTF - 8编码格式是什么(已解决)


UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部分修改后,便可继续使用。


问题2:printf里%#x是什么(已解决)


%#x格式说明


问题3:什么是段错误?(未解决)


解引用空指针

访问不可访问的内存空间(如内核空间)

访问不存在的内存地址

试图写一个只读内存空间(如代码段)

栈溢出(函数递归调用)

使用未初始化的指针(定义时没有初始化或者已经回收)

推荐网址:[Linux] 什么是 段错误(吐核)?


生疏


生疏1:printf的理解(已解决)


%类

%c字符

%f浮点数

%s字符串

%p指针

%#x格式说明

%e浮点数


生疏2:关于原码、反码、补码的纠纷(已解决)


1.计算机只做加法

2.是补码之间的运算,算完后是结果的补码,

再看符号位,如果是0,直接读,如果是1,需要转成原码

3.正数的原码反码补码都一样

4.符号位,0为正,1为负

5.反码时,是后7位反码

6.负数进来是原码,需要进行反码,补码才能运算

7.对于负数,反码+1是补码(补码-1是反码)


小知识

技巧:存储时看数据,取出时看类型



1.exit(0),表示正常退出,exit(1)便是异常退出

2.C语言中汉字在常见的中文编码 GB2312(国标简体中文字符集)和 GBK(国标扩展)使用 2 个字节编码来表示一个汉字,不常用的 GB18030 使用 4 个字节编码来表示一个汉字,更通用的 UTF-8 编码使用 3 个字节编码来表示一个汉字。关于编码方式的更详细的介绍请移步文末参考链接。


相关文章
|
算法 C++ 容器
学习C++笔记435
C++ 标准库
65 0
|
存储 安全 C++
学习C++笔记423
C++ Web 编程
68 0
|
数据安全/隐私保护 C++
学习C++笔记411
C++ Web 编程
72 0
|
Linux C++
学习C++笔记392
C++ 信号处理
59 0
|
存储 C++
学习C++笔记297
C++ 重载运算符和重载函数
70 0
|
C++
学习C++笔记296
C++ 重载运算符和重载函数
75 0
|
C++
学习C++笔记286
C++ 继承
76 0
|
C++
学习C++笔记253
C++ 日期 & 时间
56 0
|
C++
学习C++笔记224
C++ 字符串
77 0
|
C++
学习C++笔记166
C++ 函数
70 0