由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C 语言,初学者问题(4),读取字符指针内容
相关主题
谁给解释一下这个c questionC一个问题搞不懂
Array in C关于二维矩阵的C的问题
difference between: char** p and char*p[] ??array和pointer在作为函数返回时有啥区别 (C)
JHQ的一道指针题。问一个 char * 和 char [] 的问题
出个题考考大家:)一个简单的小问题
数组指针的问题不如各位高手挑个专题讲讲C++11吧
int *a [] 和int (*a)[] 一样吗问个python读取大文件的问题
问个指针array 的简单问题请教一个关于字符指针的简单问题
相关话题的讨论汇总
话题: char话题: array话题: 指针话题: pointer话题: 读出来
进入Programming版参与讨论
1 (共1页)
r*****8
发帖数: 2560
1
C 语言,初学者问题(4),读取指针内容
char char_array[ ] = “banana”;
char * char_pointer = &char_array;
指针的第二位是“a”,ASCII码97,十六进制码67(0x67),
怎么能把指针第二位的内容读出来?
char_array[1] 就可以读出来97:
printf("the char_array[1] is : %i", char_array[1]);
如果是指针,有类似的方法吗?把第二位的内容读出来。
e***i
发帖数: 231
2
*(char_pointer+1)
r*****8
发帖数: 2560
3
十分感谢!
果然好用。

【在 e***i 的大作中提到】
: *(char_pointer+1)
f****4
发帖数: 1359
4
char char_array[ ] = "banana";
char *p = char_array;
cout<<*p< cout<<*(p+1)< you need a C book

【在 r*****8 的大作中提到】
: C 语言,初学者问题(4),读取指针内容
: char char_array[ ] = “banana”;
: char * char_pointer = &char_array;
: 指针的第二位是“a”,ASCII码97,十六进制码67(0x67),
: 怎么能把指针第二位的内容读出来?
: char_array[1] 就可以读出来97:
: printf("the char_array[1] is : %i", char_array[1]);
: 如果是指针,有类似的方法吗?把第二位的内容读出来。

S*A
发帖数: 7142
5
char_array[1]
char_pointer[1]
还有
*(char_array + 1)
*(char_pointer+1)
都可以用。
array 在 expression 里面会自动 degenerate 成 pointer
这个对后端的编译器是一样的。

【在 r*****8 的大作中提到】
: C 语言,初学者问题(4),读取指针内容
: char char_array[ ] = “banana”;
: char * char_pointer = &char_array;
: 指针的第二位是“a”,ASCII码97,十六进制码67(0x67),
: 怎么能把指针第二位的内容读出来?
: char_array[1] 就可以读出来97:
: printf("the char_array[1] is : %i", char_array[1]);
: 如果是指针,有类似的方法吗?把第二位的内容读出来。

h**6
发帖数: 4160
6
第二行代码不用加地址符:
char * char_pointer = char_array;
r*****8
发帖数: 2560
7
不加地址符只是个省略是吗?
char * char_pointer = char_array;
char * char_pointer = &char_array;
这两句结果应该是一样的对吗?

【在 h**6 的大作中提到】
: 第二行代码不用加地址符:
: char * char_pointer = char_array;

r*****8
发帖数: 2560
8
“you need a C book”
以前看过,没有实际使用。
现在要用,以为是一个简短的小程序,没想到越搞越复杂。
写了10页左右,推翻重来2次了。第三次应该没问题了。
谢谢!

【在 f****4 的大作中提到】
: char char_array[ ] = "banana";
: char *p = char_array;
: cout<<*p<: cout<<*(p+1)<: you need a C book

h**6
发帖数: 4160
9
不加地址符是标准写法,加了是冗余。如你的程序数组存放于栈地址时,加不加地址符
的结果是一样的。

【在 r*****8 的大作中提到】
: 不加地址符只是个省略是吗?
: char * char_pointer = char_array;
: char * char_pointer = &char_array;
: 这两句结果应该是一样的对吗?

r*****8
发帖数: 2560
10
谢谢指正。

【在 h**6 的大作中提到】
: 不加地址符是标准写法,加了是冗余。如你的程序数组存放于栈地址时,加不加地址符
: 的结果是一样的。

r*****8
发帖数: 2560
11
谢谢指点。

【在 h**6 的大作中提到】
: 不加地址符是标准写法,加了是冗余。如你的程序数组存放于栈地址时,加不加地址符
: 的结果是一样的。

1 (共1页)
进入Programming版参与讨论
相关主题
请教一个关于字符指针的简单问题出个题考考大家:)
C++ pointer problem数组指针的问题
why int** cannot convert to const int** ?int *a [] 和int (*a)[] 一样吗
what's wrong with this C++ code?问个指针array 的简单问题
谁给解释一下这个c questionC一个问题搞不懂
Array in C关于二维矩阵的C的问题
difference between: char** p and char*p[] ??array和pointer在作为函数返回时有啥区别 (C)
JHQ的一道指针题。问一个 char * 和 char [] 的问题
相关话题的讨论汇总
话题: char话题: array话题: 指针话题: pointer话题: 读出来