const char format[] format db '%s',0 这该怎么理解?
- char *format="%s,a=%d,b=%d\n";的详细解答
- const char什么意思
- 看C语言文档,函数的参数代表什么意思printf(const char *format, arglist).里面的参数什么意思,全点啊!
- int printf(const char *format, ...); 中的 const char *format,....是什么意思?
char *format="%s,a=%d,b=%d\n";的详细解答
format指向一个存于常量区的字符串常量
"%s,a=%d,b=%d\n";
这个字符串strlen长度为13!若加上结束字符'\0'的话就是14!
分解出来就是这样的: % s , a = % d , b = % d \n 算一下吧,总共13个!
注意:\n与\0一样算一个字符,因此算一下总共是13个字节...
不过,你这个字符串好像有问题,\n的斜杠输入法是不是有问题啊,怎么占用了4个字节...
直接复制过去的话打印出占用16个字节...
const char什么意思
const char **是一个指向指针的指针,指针又指向一个字符串常量。
char **是一个指向指针的指针,指针又指向一个字符串变量。
onst char* p : 因为const 修饰符在 * 号前面,因此const 修饰的是 (*p),p指向的字符串是const的.char const* p : 等价于const char* p, const 修饰符在 * 号前面,const 修饰的是 (*p),p指向的字符串是const.
char* const p: const修饰的是变量p,变量p是 char* 类型的,这个char* 变量本是const,它的值初始化后就不能变了.
看C语言文档,函数的参数代表什么意思printf(const char *format, arglist).里面的参数什么意思,全点啊!
char * s; // declare a pointer s points to a memory address, this could be on heap or stack
// use *s to read data out, this data can be changed
const char *format // daclear a pointer format points to a memory address, this memory is on constant memory space, which means you can only use *format to read NOT write
char const *f //declare a poitner f points to a memory address, this address cannot be change, however, the data starts at this address canbe modified.
int printf(const char *format, ...); 中的 const char *format,....是什么意思?
const关键字修饰的变量不可被改变,就是说传进来的参数format不可以在这个函数内部被改变